我的计算机安装了win10,tf-nightly-2.0-preview == 2.0.0dev20190926,python3.7&python3.6.8
Tensorflow标准模板:https://tensorflow.google.cn/tutorials/load_data/images#setup
运行tensorflow标准模板时,我得到一个错误
for image, label in labeled_ds.take(1):
print("Image shape: ", image.numpy().shape)
print("Label: ", label.numpy())
错误消息:
InvalidArgumentError: slice index -1 of dimension 0 out of bounds. [[{{node strided_slice}}]]
Encountered when executing an operation using EagerExecutor.
此错误会取消所有将来的操作并毒害其输出张量。
但是,在Google colab中,我安装了tf-nightly-2.0-preview == 2.0.0dev20190926,python == 3.6, 运行代码,但运行正常,没有错误
如果要在计算机上运行此标准模板代码,应该如何修改?
答案 0 :(得分:0)
我发现在提供的tf.strings.split
方法中get_label
存在问题。在Colab上,可以在单个正斜杠上进行拆分,但是在本地Windows计算机上,我需要在反斜杠上进行拆分。
因此,如果您的Colab代码如下所示:
def get_label(file_path):
parts = tf.strings.split(file_path, '/')
return parts[-2] == settings.CLASS_NAMES
将其更改为在本地运行时如下所示:
def get_label(file_path):
parts = tf.strings.split(file_path, '\\')
return parts[-2] == settings.CLASS_NAMES