如何读取json文件并遍历_AllenNLP之config.json文件如何写?

使用AllenNLP的童鞋一定很头疼一件事情,那就是config.json的格式应该如何去书写。我们总是不经意间会多加一行或者少一个逗号,这样在解json文件或者初始化我们的模型都会遇到bug。

这里就总结一下,json文件书写的格式,希望对大家有所帮助。

首先,我们应该知道我们能够配置的参数有哪些?下图将会告诉大家我们可以配置的参数~

0d082e6603e73e7bfb2f92e545bc27ff.png
这些时可以配置的参数

c167067fd6ff91d2fa9ad6bc559e9d32.png
这个是我们最外层的json形式,虽与上图并不是一一对应的关系,但是只是层级不一样罢了。

df756f54a6ef3ebc6578b4384e08732a.png
type必不可少,token_indexer里的namespace命名要与后面的embedder相对应,这样才能正确的look up

04a1ac01000852c08b20b068c51085f1.png
三个路径中,除了train_data_path是必选,其他皆可选。但是test_data_path 要求也必须是有标签才行!!!!!!!

42e4b355fbe9216180bb1b858bc909b3.png
vocabulary是可选的,如果你之前已经建立好词表,则可以直接配置,allennlp就不会重新遍历训练集再去生成一遍词表。

b948f1bd52a3ec76b998507692b872ae.png
token_characters 里面可以配置encoder,表示在embedding层后面再添加一层encoder

至于常用的module,这里列举几个:

2241dbc5b9ad5012b9e9f23531412eb6.png
配置LSTM

55266dd9590ae067ffb1c36e7561e1b1.png
配置全连接

a5cafba9d97a956a77019371df008730.png
初始化模块的配置方式,使用正则匹配

0db9f1029040b49acf7e3c2c51505d1c.png
对哪些层添加正则约束的意思,同样是使用正则匹配

7597723756eecedd7bc259350bc59a3a.png
iterator迭代器的配置,这里可以配置batchsize的大小

14a31ff277196ae03b683eeceeb3de42.png
训练相关参数的配置,注意cuda_device是使用GPU的列表

0a49f5241bc68329844a0e082ff937bb.png
EMA的配置

感觉常用的配置就这些,如果大家对其他配置感兴趣可以留言或私信,我看看我会不会,会的话再补上~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值