TypeError: nur integer-Skalare arrays kann konvertiert werden zu einem skalaren index
Ich versuche eine einfache demo-code von tensorflow von github-link.
Ich bin derzeit mit python version 3.5.2
Z:\downloads\tensorflow_demo-master\tensorflow_demo-master>py Python
3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32<br> Type "help", "copyright", "credits" or "license" for more information.
Lief ich in diese Fehlermeldung, wenn ich versuchte board.py in der Befehlszeile. Ich habe installiert alle Abhängigkeiten, die benötigt werden um diese zu führen.
def _read32(bytestream):
dt = numpy.dtype(numpy.uint32).newbyteorder('>')
return numpy.frombuffer(bytestream.read(4), dtype=dt)
def extract_images(filename):
"""Extract the images into a 4D uint8 numpy array [index, y, x, depth]."""
print('Extracting', filename)
with gzip.open(filename) as bytestream:
magic = _read32(bytestream)
if magic != 2051:
raise ValueError(
'Invalid magic number %d in MNIST image file: %s' %
(magic, filename))
num_images = _read32(bytestream)
rows = _read32(bytestream)
cols = _read32(bytestream)
buf = bytestream.read(rows * cols * num_images)
data = numpy.frombuffer(buf, dtype=numpy.uint8)
data = data.reshape(num_images, rows, cols, 1)
return data
Z:\downloads\tensorflow_demo-master\tensorflow_demo-master>py board.py
Extracting Z:/downloads/MNIST dataset\train-images-idx3-ubyte.gz
Traceback (most recent call last):
File "board.py", line 3, in <module>
mnist = input_data.read_data_sets(r'Z:/downloads/MNIST dataset', one_hot=True)
File "Z:\downloads\tensorflow_demo-master\tensorflow_demo-master\input_data.py", line 150, in read_data_sets
train_images = extract_images(local_file)
File "Z:\downloads\tensorflow_demo-master\tensorflow_demo-master\input_data.py", line 40, in extract_images
buf = bytestream.read(rows * cols * num_images)
File "C:\Users\surak\AppData\Local\Programs\Python\Python35\lib\gzip.py", line 274, in read
return self._buffer.read(size)
TypeError: only integer scalar arrays can be converted to a scalar index
InformationsquelleAutor der Frage Suraksha Ajith | 2017-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie ändern Sie die Funktion:
neue version:
hinzufügen
[0]
am Ende.Dies scheint ein Problem mit der neuesten version von Numpy. Eine Veränderung in jüngster Zeit machte es zu einem Fehler bei der Behandlung einer single-element array als Skalar für die Zwecke der Indexierung.
InformationsquelleAutor der Antwort Von
Code-link, den Sie zur Verfügung gestellt haben, verwendet eine separate Datei namens
input_data.py
für das herunterladen von Daten aus der MNIST mit den folgenden zwei Zeilen inboard.py
Seit MNIST Daten werden so Häufig verwendet, zu Demonstrationszwecken, Tensorflow bietet eine Möglichkeit, automatisch herunterladen.
Ersetzen Sie die oben genannten zwei Zeilen in
board.py
mit den folgenden zwei Zeilen, und der Fehler wird verschwinden.InformationsquelleAutor der Antwort bhaskarc
Diese Datei ist wahrscheinlich beschädigt ist:
Analysieren wir die Fehler, die Sie geschrieben.
Dieser code zeigt an, dass derzeit die Arbeit mit der Datei in Frage:
Traceback
zeigt an, dass ein stack-trace folgt:Dies zeigt an, dass Sie Lesen Ihre Daten aus
'Z:/downloads/MNIST dataset'
:Dieser zeigt an, dass der code extrahieren Bilder:
Dieser zeigt an, dass der code soll zu Lesen
rows * cols * num_images
bytes:Dies ist die Zeile, Fehler:
Erwarte ich
size
ist der problematische Wert und berechnet wurde, auf die Vorherige Zeile des stacktrace.Ich sehe mindestens zwei Möglichkeiten, um fortzufahren.
Löschen Sie die infizierte Datei und sehen, ob das problem verschwindet. Dieses würde Ihnen erlauben, um zu überprüfen, dass die Datei irgendwie beschädigt.
Einen debugger verwenden, um den Schritt in den code und überprüfen Sie dann die Werte zu berechnen, die problematische variable. Verwenden Sie die Erkenntnisse gehen von dort aus.
InformationsquelleAutor der Antwort Stephen Rauch