crf
crf copied to clipboard
为什么训练卡在第一步不动呢
WARNING:tensorflow:From D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version. Instructions for updating: Use tf.cast instead. Epoch 1/10 就这样
不知。
哎 好难啊😔
用回python2试试。
你这信息量这么少,叫别人怎么回答....
谢谢苏神回复 好滴
WARNING:tensorflow:From D:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\ops\math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version. Instructions for updating: Use tf.cast instead.coding Epoch 1/10 就这样
这个应该是你在coding过程中用了tensorflow的keras,或是其他tensorflow里面的内容。理论上统一换成keras就好了。希望可以帮到你。e.g., tensorflow.keras. => keras.
改成python3需要更改三个地方才能跑起来. 1.
np.random.shuffle(sents) # 打乱语料,以便后面划分验证集
sents = sents[0]
chars = {} # 统计字表
def max_in_dict(d): # 定义一个求字典中最大值的函数
key, value = list(d.items())[0]
for i, j in list(d.items())[1:]:
if j > value:
key, value = i, j
return key, value
卡在那不动,是生成器的时候,遍历数据的时候,数据为空,所以需要sents = sents[0], 后面两处是验证的时候需要更改的. 我测试环境是Python3.6+tensorflow1.14/tensorflow2.1
改成python3需要更改三个地方才能跑起来. 1.
np.random.shuffle(sents) # 打乱语料,以便后面划分验证集 sents = sents[0] chars = {} # 统计字表
def max_in_dict(d): # 定义一个求字典中最大值的函数 key, value = list(d.items())[0] for i, j in list(d.items())[1:]: if j > value: key, value = i, j return key, value
卡在那不动,是生成器的时候,遍历数据的时候,数据为空,所以需要sents = sents[0], 后面两处是验证的时候需要更改的. 我测试环境是Python3.6+tensorflow1.14/tensorflow2.1
其实把split('\r\n')改成split('\n')就可以了
https://github.com/bojone/crf/issues/5#issuecomment-853124303 你们俩的结果不一样的,改成split('\n')出来的sents的每个元素是一句话;改成sents=sents[0]的sents的每个元素是一个单词,所以最后它们结果都不一样的。根据苏神代码里的注释,改split是应该是正确的。