1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/paddlepaddle-AutoDL

Клонировать/Скачать
README.md 6.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 20:42 845579b

Введение в AutoDL Design

Содержание

Установка

Для запуска демонстрационного кода в текущем каталоге требуется PaddlePaddle Fluid версии 1.3.0 или выше. Если ваша среда выполнения не соответствует этому требованию, обновите PaddlePaddle в соответствии с документами.

  • Установите Python2.7.
  • Установите зависимости: фреймворк PARL и библиотеку absl-py следующим образом:
    pip install parl
    pip install absl-py

Введение

AutoDL — это эффективный автоматизированный метод проектирования нейронных архитектур. Он разрабатывает качественную настраиваемую нейронную архитектуру с помощью обучения с подкреплением. Система состоит из двух компонентов: кодировщика нейронной архитектуры и критика производительности модели. Кодировщик кодирует нейронную архитектуру, используя рекуррентную нейронную сеть, а критик оценивает сэмплированную архитектуру по точности, количеству параметров модели и т. д., которые возвращаются к кодировщику. Кодировщик соответственно обновляет свои параметры и сэмплирует новую партию архитектур. После нескольких итераций кодировщик обучается до сходимости и находит качественную архитектуру. Открытый исходный код AutoDl Design является одной из реализаций техники AutoDL. В разделе 2 представлено использование AutoDL. Раздел 3 представляет структуру и примеры.

Подготовка данных

  • Клонируйте PaddlePaddle/AutoDL на локальный компьютер и перейдите в путь AutoDL Design.
  • Загрузите обучающие данные CIFAR-10, разархивируйте их в AutoDL Design/cifar и создайте набор данных из 10 классов и 100 изображений на класс с помощью dataset_maker.py:
tar zxf cifar-10-python.tar.gz
python dataset_maker.py

Обучение модели

В процессе обучения агент AutoDLa Design генерирует токены и матрицы смежности, используемые для обучения, а тренер использует эти токены и матрицы для построения и обучения сверточных нейронных сетей. Точность валидации после 20 эпох используется в качестве обратной связи для агента, и агент соответствующим образом обновляет свою политику. После нескольких итераций агент учится находить качественную глубокую нейронную сеть.

Здесь мы предоставляем следующий тест метода.

Тест на сходимость количества сгенерированных токенов

Из-за длительного времени обучения CNN, чтобы проверить достоверность структуры агента, мы используем количество «правильных» токенов, сгенерированных за шаг, в качестве псевдовознаграждения. Агент будет учиться генерировать больше «правильных» токенов за шаг. Общая длина токенов установлена равной 20.

export FLAGS_fraction_of_gpu_memory_to_use=0.98
export FLAGS_eager_delete_tensor_gb=0.0
export FLAGS_fast_eager_deletion_mode=1
CUDA_VISIBLE_DEVICES=0 python -u simple_main.py

Ожидаемые результаты: в журнале average rewards постепенно сходится к 20:

Simple run target is 20
mid=0, average rewards=2.500
...
mid=450, average rewards=17.100
mid=460, average rewards=17.000

### Обучение AutoDL для проектирования CNN
Обучите AutoDL Design на небольшом наборе данных, подготовленном в предыдущем разделе:

export FLAGS_fraction_of_gpu_memory_to_use=0.98 export FLAGS_eager_delete_tensor_gb=0.0 export FLAGS_fast_eager_deletion_mode=1 CUDA_VISIBLE_DEVICES=0 python -u main.py

Примечание: для обучения требуется два GPU, GPU, используемый агентом, устанавливается с помощью `CUDA_VISIBLE_DEVICES=0`(в `main.py`); Тренер использует GPU, установленный с помощью `CUDA_VISIBLE_DEVICES=1`(в autodl.py#L124).

Ожидаемые результаты: в журнале `средняя точность` постепенно увеличивается:

step = 0, средняя точность = 0.633 step = 1, средняя точность = 0.688 step = 2, средняя точность = 0.626 step = 3, средняя точность = 0.682 ...... step = 842, средняя точность = 0.823 step = 843, средняя точность = 0.825 step = 844, средняя accuracy = 0.808 ......

### Results

![Picture](./AutoDL Design/img/search_result.png)
The x-axis is the number of steps, and the y-axis is validation accuracy of the sampled models. The average performance of the sampled models improves over time.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/paddlepaddle-AutoDL.git
git@api.gitlife.ru:oschina-mirror/paddlepaddle-AutoDL.git
oschina-mirror
paddlepaddle-AutoDL
paddlepaddle-AutoDL
master