Open zmingshi opened 3 years ago
我跟你一样的环境,并没有报错。你确定你跑的是task_seq2seq_autotitle_csl_mt5.py
?我看你的错误日志是task_seq2seq_composition_unilm_wobert_predict.py
我跟你一样的环境,并没有报错。你确定你跑的是
task_seq2seq_autotitle_csl_mt5.py
?我看你的错误日志是task_seq2seq_composition_unilm_wobert_predict.py
task_seq2seq_autotitle_csl_mt5.py
和 task_seq2seq_unilm_wobert.py
都报错了,那可能还是我的docker 环境问题吧~
我只是改了一下训练数据,因为目前example 的DataGenerator 代码load 全量数据到内存的,我的数据比较大不能这么干。
现在把数据转成tfrecords 用了tf.dataset, 但是model.fit(dataset....) 目前有问题,网上查了下说是必须用 tf.keras 才行,没想到还是报错了。
我再试试吧,多谢苏神!!
我跟你一样的环境,并没有报错。你确定你跑的是
task_seq2seq_autotitle_csl_mt5.py
?我看你的错误日志是task_seq2seq_composition_unilm_wobert_predict.py
task_seq2seq_autotitle_csl_mt5.py
和task_seq2seq_unilm_wobert.py
都报错了,那可能还是我的docker 环境问题吧~ 我只是改了一下训练数据,因为目前example 的DataGenerator 代码load 全量数据到内存的,我的数据比较大不能这么干。 现在把数据转成tfrecords 用了tf.dataset, 但是model.fit(dataset....) 目前有问题,网上查了下说是必须用 tf.keras 才行,没想到还是报错了。 我再试试吧,多谢苏神!!
关于转换为dataset,你可以参考一下这个脚本 https://github.com/bojone/bert4keras/blob/master/examples/task_seq2seq_autotitle_multigpu.py
我跟你一样的环境,并没有报错。你确定你跑的是
task_seq2seq_autotitle_csl_mt5.py
?我看你的错误日志是task_seq2seq_composition_unilm_wobert_predict.py
task_seq2seq_autotitle_csl_mt5.py
和task_seq2seq_unilm_wobert.py
都报错了,那可能还是我的docker 环境问题吧~ 我只是改了一下训练数据,因为目前example 的DataGenerator 代码load 全量数据到内存的,我的数据比较大不能这么干。 现在把数据转成tfrecords 用了tf.dataset, 但是model.fit(dataset....) 目前有问题,网上查了下说是必须用 tf.keras 才行,没想到还是报错了。 我再试试吧,多谢苏神!!关于转换为dataset,你可以参考一下这个脚本 https://github.com/bojone/bert4keras/blob/master/examples/task_seq2seq_autotitle_multigpu.py
多谢苏神,这次都直接改成多卡了~!! 我之前用horovod 改成多卡了,可以正常运行。 主要问题是多文件、大数据读入,后来改成 tf 自身的 TextLineDataSet 形式了,可以训练起来,但是不知道对错~ 不知道苏神为什么不用TextLineDataSet ,而是每次自己手动实现DataGenerator? 如下这种样本补齐到 全局 max_len, 相比与tf.dataset 的 padded_batch 是不是有点浪费了?
token_ids = token_ids + [0] * (maxlen - len(token_ids))
segment_ids = segment_ids + [0] * (maxlen - len(segment_ids))
# 返回一条样本
yield token_ids, segment_ids
其实我是想要能自己控制的就尽量自己控制,不依赖太多现成函数。关键是一般情况下这个也不会是瓶颈了,所以自己padding也无妨。
---原始邮件--- 发件人: "zmingshi"<notifications@github.com> 发送时间: 2021年1月31日(周日) 上午10:41 收件人: "bojone/bert4keras"<bert4keras@noreply.github.com>; 抄送: "苏剑林(Jianlin Su)"<bojone@spaces.ac.cn>;"Comment"<comment@noreply.github.com>; 主题: Re: [bojone/bert4keras] TF_KERAS=1 报错 (#263)
我跟你一样的环境,并没有报错。你确定你跑的是task_seq2seq_autotitle_csl_mt5.py?我看你的错误日志是task_seq2seq_composition_unilm_wobert_predict.py
task_seq2seq_autotitle_csl_mt5.py 和 task_seq2seq_unilm_wobert.py 都报错了,那可能还是我的docker 环境问题吧~ 我只是改了一下训练数据,因为目前example 的DataGenerator 代码load 全量数据到内存的,我的数据比较大不能这么干。 现在把数据转成tfrecords 用了tf.dataset, 但是model.fit(dataset....) 目前有问题,网上查了下说是必须用 tf.keras 才行,没想到还是报错了。 我再试试吧,多谢苏神!!
关于转换为dataset,你可以参考一下这个脚本 https://github.com/bojone/bert4keras/blob/master/examples/task_seq2seq_autotitle_multigpu.py
多谢苏神,这次都直接改成多卡了~!! 我之前用horovod 改成多卡了,可以正常运行。 主要问题是多文件、大数据读入,后来改成 tf 自身的 TextLineDataSet 形式了,可以训练起来,但是不知道对错~ 不知道苏神为什么不用TextLineDataSet ,而是每次自己手动实现DataGenerator? 如下这种样本补齐到 全局 max_len, 相比与tf.dataset 的 padded_batch 是不是有点浪费了? token_ids = token_ids + [0] (maxlen - len(token_ids)) segment_ids = segment_ids + [0] (maxlen - len(segment_ids)) # 返回一条样本 yield token_ids, segment_ids
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
基本信息
核心代码
输出信息
[1,0]:Sun, 06 Dec 2020 14:54:00 deprecation.py[line:506] [WARNING] From /usr/lib64/python2.7/site-packages/tensorflow_core/python/ops/resource_variable_ops.py:1628: calling init (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
[1,0]:Instructions for updating:
[1,0]:If using Keras pass _constraint arguments to layers.
[1,0]:Traceback (most recent call last):
[1,0]: File "task_seq2seq_composition_unilm_wobert_predict.py", line 152, in
[1,0]: config_path, checkpoint_path, application='unilm'
[1,0]: File "/usr/lib/python2.7/site-packages/bert4keras/models.py", line 2294, in build_transformer_model
[1,0]: transformer.build(configs)
[1,0]: File "/usr/lib/python2.7/site-packages/bert4keras/models.py", line 88, in build
[1,0]: outputs = self.call(inputs)
[1,0]: File "/usr/lib/python2.7/site-packages/bert4keras/models.py", line 98, in call
[1,0]: outputs = self.apply_embeddings(inputs)
[1,0]: File "/usr/lib/python2.7/site-packages/bert4keras/models.py", line 431, in apply_embeddings
[1,0]: name='Embedding-Token'
[1,0]: File "/usr/lib/python2.7/site-packages/bert4keras/models.py", line 140, in apply
[1,0]: return self.layers[name](inputs, arguments)
[1,0]: File "/usr/lib64/python2.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 742, in call
[1,0]: inputs, outputs, args, kwargs)
[1,0]: File "/usr/lib64/python2.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 1841, in _set_connectivitymetadata
[1,0]: input_tensors=inputs, output_tensors=outputs, arguments=kwargs)
[1,0]: File "/usr/lib64/python2.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 1928, in _add_inbound_node
[1,0]: input_tensors)
[1,0]: File "/usr/lib64/python2.7/site-packages/tensorflow_core/python/util/nest.py", line 524, in map_structure
[1,0]: structure[0], [func( x) for x in entries],
[1,0]: File "/usr/lib64/python2.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py", line 1927, in
[1,0]: inbound_layers = nest.map_structure(lambda t: t._keras_history.layer,
[1,0]:AttributeError: 'tuple' object has no attribute 'layer'[1,0]:
自我尝试
tensorflow2.2 同样报错,模型加载就直接报错了?不知道什么原因~