gpt4 book ai didi

python - tf.contrib.learn load_csv_with_header 在 TensorFlow 1.1 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 13:10:55 24 4
gpt4 key购买 nike

我安装了最新的 TensorFlow (v1.1.0) 并尝试运行 tf.contrib.learn Quickstart教程,您假设在其中为 IRIS 数据集构建分类器。但是,当我尝试时:

training_set = tf.contrib.learn.datasets.base.load_csv_with_header(
filename=IRIS_TRAINING,
target_dtype=np.int,
features_dtype=np.float32)

我遇到了一个 StopIteration 错误。

当我检查 API 时,我没有找到任何关于 load_csv_with_header() 的信息。他们是否在不更新教程的情况下在最新版本中更改了它?我该如何解决这个问题?

编辑:如果这有任何不同,我会使用 Python3.6。

最佳答案

这是因为 Python 2 和 Python 3 之间的差异。下面是我的适用于 Python 3.5 的代码:

if not os.path.exists(IRIS_TRAINING):
raw = urllib.request.urlopen(IRIS_TRAINING_URL).read().decode()
with open(IRIS_TRAINING, 'w') as f:
f.write(raw)

if not os.path.exists(IRIS_TEST):
raw = urllib.request.urlopen(IRIS_TEST_URL).read().decode()
with open(IRIS_TEST, 'w') as f:
f.write(raw)

可能发生的情况是您的代码在 IRIS_TRAINING 之后创建了一个文件名。但是文件是空的。因此 StopIteration 被引发。如果您查看 load_csv_with_header 的实现:

with gfile.Open(filename) as csv_file:
data_file = csv.reader(csv_file)
header = next(data_file)

StopIterationnext 未检测到任何其他要读取的项目时引发,如记录 https://docs.python.org/3.5/library/exceptions.html#StopIteration

请注意我的代码与 Tensorflow 教程中所示的 Python 2 版本相比的变化:

  1. urllib.request.urlopen 而不是 urllib.urlopen
  2. decode()read()
  3. 之后执行

关于python - tf.contrib.learn load_csv_with_header 在 TensorFlow 1.1 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com