【导读】众所周知,GAN的模型,特别难调出效果,更众所周知的是,GAN用来做文本生成,更难调出效果,简直地狱难度。然而,为了利用GAN的丰富特性,小伙伴们明知山有虎,偏向虎山行,可歌可泣。近日,来自双鸭山大学(中山大学)的WilliamLam大神有感于此,开源了自己实现的多个TextGAN, 包括:SeqGAN, LeakGAN等。你的TextGAN调出来了么?来看看人在怎么调的。
Github地址:
https://github.com/williamSYSU/TextGAN-PyTorch
所需数据集:
https://drive.google.com/drive/folders/1XvT3GqbK1wh3XhTgqBLWUtH_mLzGnKZP?usp=sharing
Github作者:
WilliamLam(梁智威)
WilliamLam同学不光开源了具体的GANs模型的代码实现,更是总结出了一套Text GAN的实现框架,来帮助大家快速完成Text GAN的应用。
【项目要求】
PyTorch >= 1.0.0
Python 3.6
Numpy 1.14.5
CUDA 7.5+ (For GPU)
nltk 3.4
tqdm 4.32.1
【使用方法】
下载代码库
git clone https://github.com/williamSYSU/TextGAN-PyTorch.git
cd TextGAN-PyTorch
测试所需的 Image COCO
和 EMNLP news
数据集,上面的数据集处下载
使用 SeqGAN
cd run
python3 run_seqgan.py 0 0
P.S. 参数释义:第一个 0 是作业id, 第二个0是GPU id
使用LeakGAN
cd run
python3 run_leakgan.py 0 0
使用 RelGAN
cd run
python3 run_relgan.py 0 0
【目录结构】
整个TextGAN库的目录结构如下:
- instructor
- metrics
- models
- run
- utils
- config.py
- main.py
- run_signal.txt
【特性】
关于扩展:
对于每个模型,他们的运行过程,都定义在 instructor/oracle_data 文件夹下面。一些基本的函数,比如init_model() 和 optimization()则在instructor.py的基类basictrainer中定义。如果你想添加一个新的基于gan的文本生成模型,请在instructor/oracle_data下创建一个新的文件,并为该模型定义训练过程。
关于可视化:
使用utils/visualization.py 可以可视化log,包括模型loss,metrics等。你可以在log_file_list 自定义你的log。
关于日志:
TextGAN-PyTorch使用Python中的日志模块记录运行过程,比如生成器的Loss和metrics。为了便于可视化,将两个相同的日志文件分别保存在log/log_**** **** *.txt和save/** */log.txt中。此外,该代码将自动将模型的状态dict和生成器样本的批大小保存在./save/**/models和./save/**/samples中,其中**取决于超参数。
关于运行信号:
你可以使用基于字典文件run_signal.txt的类信号(请参阅utils/helper .py)轻松控制训练过程。要使用该信号,只需编辑本地文件run_signal.txt并将pre_sig设置为Fasle,例如,程序将停止预培训过程并进入下一个培训阶段。如果你认为目前的培训已经足够,那么提前停止培训是很方便的。
关于GPU:
在config.py中,程序会根据nvidia-smi的返回结果,自动挑选GPU-Utils最少的GPU, 默认会开启此功能,如果你想手动选在GPU设备,请取消注释run_XXX.py 中的device args,然后用命令指定设备。
更多信息,请访问该Github库
https://github.com/williamSYSU/TextGAN-PyTorch
-END-
专 · 知
专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎登录www.zhuanzhi.ai,注册登录专知,获取更多AI知识资料!
欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程视频资料和与专家交流咨询!
请加专知小助手微信(扫一扫如下二维码添加),加入专知人工智能主题群,咨询技术商务合作~
专知《深度学习:算法到实战》课程全部完成!550+位同学在学习,现在报名,限时优惠!网易云课堂人工智能畅销榜首位!
点击“阅读原文”,了解报名专知《深度学习:算法到实战》课程