你的TextGAN调出来了么?来看看人在怎么调的

【导读】众所周知,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+位同学在学习,现在报名,限时优惠!网易云课堂人工智能畅销榜首位!

点击“阅读原文”,了解报名专知《深度学习:算法到实战》课程

展开全文
Top
微信扫码咨询专知VIP会员