1

我正在尝试在 Linux 上运行本教程。我安装了gcc, cython, numpy, six.

我可以导入数据,但解包似乎存在某种问题。

任何人都可以帮忙吗?


Python 2.7.3 (default, Jun 22 2015, 19:43:34)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.   
>>> import g3doc.tutorials.mnist.input_data as input_data
>>> mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
Successfully downloaded train-images-idx3-ubyte.gz 9912422 bytes.
Extracting MNIST_data/train-images-idx3-ubyte.gz
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "g3doc/tutorials/mnist/input_data.py", line 175, in read_data_sets
    train_images = extract_images(local_file)
  File "g3doc/tutorials/mnist/input_data.py", line 60, in extract_images
    buf = bytestream.read(rows * cols * num_images)
  File "/usr/lib/python2.7/gzip.py", line 263, in read
    chunk = self.extrabuf[offset: offset + size]
TypeError: only integer scalar arrays can be converted to a scalar index
>>> mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
Extracting MNIST_data/train-images-idx3-ubyte.gz
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "g3doc/tutorials/mnist/input_data.py", line 175, in read_data_sets
    train_images = extract_images(local_file)
  File "g3doc/tutorials/mnist/input_data.py", line 60, in extract_images
    buf = bytestream.read(rows * cols * num_images)
  File "/usr/lib/python2.7/gzip.py", line 263, in read
    chunk = self.extrabuf\[offset: offset + size]
TypeError: only integer scalar arrays can be converted to a scalar index

4

1 回答 1

9

这似乎是最新版本的 Numpy 的问题。最近的一项更改使得将单元素数组视为标量以进行索引是错误的。

我已对上游 TensorFlow 代码进行了相关更改,但同时您可以将(L45) 中的这一行input_data.py[0]编辑为以下内容(在行尾添加):

return numpy.frombuffer(bytestream.read(4), dtype=dt)[0]
于 2015-12-03T07:29:56.777 回答