tangwei12
tangwei12
trainable=False这块有问题修复. 当前解决方法: 1.trainable=True,但设置学习率为0. 2. 每一个trainer本地重新初始化(load_variable)一下emb。
请问使用的paddle版本是多少?
1. 定义网络的时候不要公用 self.startup_program, 参考 https://www.paddlepaddle.org.cn/documentation/docs/zh/1.5/user_guides/howto/training/test_while_training.html#id2 2. 没有发现评估共享训练参数的逻辑。 3. 多机训练过程中预测, 可以以独立进程的方式来做。 比如itest/infer以独立进程的方式进行启动,使用load_persistable来加载参数。
> "没有发现评估共享训练参数的逻辑"这个是什么意思啊 ?我之前的代码就是在训练过程中做模型评估的,就像这种方式,cpu单机,gpu多机(nccl2)都可以,就像这个。 > https://github.com/PaddlePaddle/models/blob/develop/PaddleNLP/sentiment_classification/run_classifier.py 多机推荐用 save_persistables的方式把参数全存下来, 然后单启一个进程来做预测。 你上述的方法也没有问题, 但是需要结合 scope_guard/program_guard使用才能生效。
可以看看官方文档: https://www.paddlepaddle.org.cn/documentation/docs/zh/1.5/api_cn/layers_cn/io_cn.html#data
这行代码是预测相关的输入代码, 可以结合后2行来一起看: ``` data = fluid.layers.data( name="words", shape=[1], dtype="int64", lod_level=1) emb = fluid.layers.embedding( input=data, size=[input_dim, emb_dim], is_sparse=True) ``` 通过变长的词Id得到低维映射的词向量, 既输入是 词的 ID序列。
shape=1 表示, 输入的纬度就是1维的, lod_level=1 表示, 这是一个1维的变长序列。 将这个1维的变长序列输入到 embedding layer后得到这些id对应的 size=[batch_size, emb_dim]的词向量。
we use it in edl experiment, such as doc/edl/experiment/result/plot/plot.go
add command "RUN mkdir ~/.glide && glide mirror set https://gonum.org/v1/plot https://github.com/gonum/plot" before "RUN glide install --strip-vendor" in Dockerfile, it seems OK.
> 遇到一个新的问题,当聊天数量到达20个的时候,"new chat"按钮就消失了 20是后端有最大个数的判断,这个值来源于: 前端调用 /api/conversations时传了参数 limit=20 可以 修改前端的默认值, 也可以从后端进行hack.