TensorFlow 1.4文档提供了演示Dataset.from_generator用法的代码。当我运行代码时,我得到一个InvalidArgumentError:0-th value returned by pyfunc_0 is int32, but expects int64
。
我正在使用Python 3.6.1。这是代码:
def gen():
for i in itertools.count(1):
yield (i, [1] * i)
ds = tf.data.Dataset.from_generator(gen, (tf.int64, tf.int64),
(tf.TensorShape([]), tf.TensorShape([None])))
value = ds.make_one_shot_iterator().get_next()
with tf.Session() as sess:
sess.run(value) # (1, array([1]))
sess.run(value) # (2, array([1, 1]))
有什么想法吗?
答案 0 :(得分:1)
在Windows上运行时,这是TensorFlow 1.4.0 rc0 的已知问题。该错误已在TensorFlow的夜间版本和cherry-picked中修复为TensorFlow 1.4.0的下一个版本候选版本now available。
与此同时,有几个选择:
使用pip install tf-nightly
安装每晚构建。请注意,这将包含1.4分支中未提供的一些功能,并且未经过与发布分支一样多的测试。
从源代码构建1.4分支。
等待发布1.4.0rc1候选版本。 编辑:此版本现在可以使用pip install tensorflow==1.4.0rc1
从PyPI获取。