Textgan - это структура Pytorch для генеративных моделей генерации текста, основанных на генеративных состязательных сетях (GANS), включая модели генерации общих текстов и модели генерации текста категории. Textgan служит платформой для сравнения для поддержки исследований моделей генерации текста на основе GAN. Поскольку большинство моделей генерации текста на основе GAN реализуются TensorFlow, Textgan может помочь тем, кто привык к Pytorch быстрее ввести поле генерации текста.
Если вы найдете какую -либо ошибку в моей реализации, пожалуйста, дайте мне знать! Кроме того, пожалуйста, не стесняйтесь вносить свой вклад в этот репозиторий, если вы хотите добавить другие модели.
Чтобы установить, запустите pip install -r requirements.txt . В случае проблем с CUDA проконсультируйтесь с официальным руководством Pytorch.
Скачать стабильный релиз и Unzip: http://kheafield.com/code/kenlm.tar.gz
Нужно повысить> = 1,42,0 и bjam
sudo apt-get install libboost-all-devbrew install boost; brew install bjamЗапустите в каталоге Kenlm:
mkdir -p build
cd build
cmake ..
make -j 4 pip install https://github.com/kpu/kenlm/archive/master.zip
Для получения дополнительной информации о Kenlm см.: Https://github.com/kpu/kenlm и http://kheafield.com/code/kenlm/
git clone https://github.com/williamSYSU/TextGAN-PyTorch.git
cd TextGAN-PyTorchImage COCO , EMNLP NEWs , Movie Review , Amazon Review ) могут быть загружены отсюда. cd run
python3 run_[model_name].py 0 0 # The first 0 is job_id, the second 0 is gpu_id
# For example
python3 run_seqgan.py 0 0Инструктор
Для каждой модели весь процесс выполнения определяется у instructor/oracle_data/seqgan_instructor.py . (Например, принять Seqgan в эксперименте с синтетическими данными). Некоторые основные функции, такие как init_model() и optimize() определены в базовом классе BasicInstructor в instructor.py . Если вы хотите добавить новую модель генерации текста на основе GAN, пожалуйста, создайте нового инструктора под instructor/oracle_data и определите процесс обучения для модели.
Визуализация
Используйте utils/visualization.py для визуализации файла журнала, включая показатели потерь и метрики. Пользовательствует ваши файлы журнала в log_file_list , не более чем len(color_list) . Имя файла журнала должно исключить .txt .
Регистрация
Textgan-Pytorch использует модуль logging в Python для записи процесса работы, таких как потеря и показатели метрических показателей генератора. Для удобства визуализации было бы два одинаковых файла журнала, сохраненных в log/log_****_****.txt и save/**/log.txt соответственно. Кроме того, код автоматически сохранит DICT состояния моделей и размером с партийного размера образцов генератора в ./save/**/models и ./save/**/samples Samples Per Log, где ** зависит от ваших гиперпараметров.
Работающий сигнал
Вы можете легко контролировать процесс обучения с помощью Signal класса (пожалуйста, обратитесь к utils/helpers.py ) на основе словарного файла run_signal.txt .
Для использования Signal просто отредактируйте локальный файл run_signal.txt и установите, например, pre_sig в Fasle , программа остановит процесс предварительного обучения и вступит в следующую фазу обучения. Это удобно для ранней остановки обучения, если вы думаете, что текущего обучения достаточно.
AutomatiaClly выберите GPU
В config.py программа автоматически выберет устройство GPU с наименьшим GPU-Util в nvidia-smi . Эта функция включена по умолчанию. Если вы хотите вручную выбрать устройство графического процессора, пожалуйста, расстройте аргументы --device в run_[run_model].py и укажите устройство GPU с командой.
Запуск файла: run_seqgan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (от Секгана)

Запуск файла: run_leakgan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (из линии)

Запуск файла: run_maligan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (от моего понимания)

Запуск файла: run_jsdgan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор (без дискриминатора)
Структура (от моего понимания)

Запустите файл: run_relgan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (от моего понимания)

Запуск файла: run_dpgan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (от dpgan)

Запустите файл: run_dgsan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Запуск файла: run_cot.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (из кроватки)

Запуск файла: run_sentigan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (из Sentigan)

Запуск файла: run_catgan.py
Преподаватели: Oracle_Data, Real_Data
Модели: генератор, дискриминатор
Структура (от Catgan)

MIT Линдсенс