Введение в AutoDL Design
Для запуска демонстрационного кода в текущем каталоге требуется PaddlePaddle Fluid версии 1.3.0 или выше. Если ваша среда выполнения не соответствует этому требованию, обновите PaddlePaddle в соответствии с документами.
pip install parl
pip install absl-py
AutoDL — это эффективный автоматизированный метод проектирования нейронных архитектур. Он разрабатывает качественную настраиваемую нейронную архитектуру с помощью обучения с подкреплением. Система состоит из двух компонентов: кодировщика нейронной архитектуры и критика производительности модели. Кодировщик кодирует нейронную архитектуру, используя рекуррентную нейронную сеть, а критик оценивает сэмплированную архитектуру по точности, количеству параметров модели и т. д., которые возвращаются к кодировщику. Кодировщик соответственно обновляет свои параметры и сэмплирует новую партию архитектур. После нескольких итераций кодировщик обучается до сходимости и находит качественную архитектуру. Открытый исходный код AutoDl Design является одной из реализаций техники AutoDL. В разделе 2 представлено использование AutoDL. Раздел 3 представляет структуру и примеры.
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

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 )