返回信息流tensorflow上的实例,照搬的,结果跑不通。。。
raw_data = reader.ptb_raw_data('simple-examples/data/')
train_data, valid_data, test_data, _ = raw_data
config = SmallConfig()
eval_config = SmallConfig()
eval_config.batch_size = 1
eval_config.num_steps = 1
报错是
TypeError Traceback (most recent call last)
<ipython-input-9-aef5f02a9594> in <module>()
----> 1 raw_data = reader.ptb_raw_data('simple-examples/data/')
2 train_data, valid_data, test_data, _ = raw_data
3
4 config = SmallConfig()
5 eval_config = SmallConfig()
/home/alienware/tf-learning/my_examples/mytensorflowmodel/reader.py in ptb_raw_data(data_path)
76 test_path = os.path.join(data_path, "ptb.test.txt")
77
---> 78 word_to_id = _build_vocab(train_path)
79 train_data = _file_to_word_ids(train_path, word_to_id)
80 valid_data = _file_to_word_ids(valid_path, word_to_id)
/home/alienware/tf-learning/my_examples/mytensorflowmodel/reader.py in _build_vocab(filename)
37
38 def _build_vocab(filename):
---> 39 data = _read_words(filename)
40
41 counter = collections.Counter(data)
/home/alienware/tf-learning/my_examples/mytensorflowmodel/reader.py in _read_words(filename)
31 with tf.gfile.GFile(filename, "r") as f:
32 if Py3:
---> 33 return f.read().replace("\n", "<eos>").split()
34 else:
35 return f.read().decode("utf-8").replace("\n", "<eos>").split()
TypeError: a bytes-like object is required, not 'str'
求助各位大佬啊!![ema1]
[ema1]
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #35881同步于 2019/12/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
【求助】小白一个~实在找不到方法了
LovelyBoy
2019/12/16镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
with tf.gfile.GFile(filename, "rb") as f:
改成rb了,可是还是报相同的错
【 在 Mysry 的大作中提到: 】
: “r”换成“rb”试试?
with tf.gfile.GFile(filename, "rb") as f:
改成rb了,可是还是报相同的错
【 在 MariaBrown 的大作中提到: 】
: 建议读取文件的时候'r'换成'rb'
但是我要是把Py3下面那句改成
def _read_words(filename):
with tf.gfile.GFile(filename, "rb") as f:
if Py3:
return f.read().decode("utf-8").replace("\n", "<eos>").split()
else:
return f.read().decode("utf-8").replace("\n", "<eos>").split()
就不报错了
原先是
def _read_words(filename):
with tf.gfile.GFile(filename, "rb") as f:
if Py3:
return f.read().replace("\n", "<eos>").split()
else:
return f.read().decode("utf-8").replace("\n", "<eos>").split()
【 在 Mysry 的大作中提到: 】
: “r”换成“rb”试试?