tensorflow.python.framework.errors_impl.InvalidArgumentError: Feature: input_ids0 (data type: int64) is required but could not be found. [[{{node ParseSingleExample/ParseSingleExample}}]] [[node IteratorGetNext (defined at /usr/local/lib/python3.5/dist-packages/tensorflow_estimator/python/estimator/util.py:110) ]]
錯誤原因 tfrecord寫讀不一致
原代碼:
features[f'input_ids{i}'] = tf.train.Feature( int64_list=tf.train.Int64List(value=list(input_ids.astype(np.int64))))
我錯改為:
features['input_ids{i}'] = tf.train.Feature( int64_list=tf.train.Int64List(value=list(input_ids.astype(np.int64))))
直接去掉 features[f'input_ids{i}']的‘f’,導致本來是循環的里面的index的‘i’成為str而不是變量了
報錯修改后:
features['input_ids%d' % (i)] = tf.train.Feature( int64_list=tf.train.Int64List(value=list(input_ids.astype(np.int64))))