Betriebsumgebung
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 14.04 LTS desktop amd64
TensorFlow v0.11
cuDNN v5.1 for Linux
CUDA v8.0
Python 2.7.6
IPython 5.1.0 -- An enhanced Interactive Python.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
GNU bash, version 4.3.8(1)-release (x86_64-pc-linux-gnu)
Ich versuche, die Werte für Eingabe-Batch, Ausgabe-Batch und Vorhersage zu speichern, nachdem ich TensorFlow in einer Datei gelernt und aus einem anderen Python-Skript verwendet habe.
Es scheint, dass dies durch Exportieren von Binärdateien mit Numpy erreicht werden kann.
Verwandte [numpy> Datei lesen / schreiben> np.save () / np.load () / np.savetxt () / np.loadtxt ()> Binäres Lesen / Schreiben / csv Lesen / Schreiben](http://qiita.com/7of9/items/ c730990479687ec2e959)
Ich habe den folgenden Code implementiert.
test_python_170324a.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
# on Python 2.7.6
# 1. save
inpbt1 = np.array([[3, 1], [4, 1], [5, 9]], dtype='f')
inpbt2 = np.array([[2, 7], [1, 8], [2, 7]], dtype='f')
inpbt3 = np.array([[6, 0], [2, 2], [10, 23]], dtype='f')
alist = list([inpbt1, inpbt2, inpbt3])
print(alist)
FILENMAE = 'test_res_170328a.npy'
np.save(FILENMAE, alist)
# 2. load
rddat = np.load(FILENMAE)
for idx, elem in enumerate(rddat):
print('%d:%s' % (idx, elem))
Ergebnis
$ python test_python_170324a.py
[array([[ 3., 1.],
[ 4., 1.],
[ 5., 9.]], dtype=float32), array([[ 2., 7.],
[ 1., 8.],
[ 2., 7.]], dtype=float32), array([[ 6., 0.],
[ 2., 2.],
[ 10., 23.]], dtype=float32)]
0:[[ 3. 1.]
[ 4. 1.]
[ 5. 9.]]
1:[[ 2. 7.]
[ 1. 8.]
[ 2. 7.]]
2:[[ 6. 0.]
[ 2. 2.]
[ 10. 23.]]
Das obige Ergebnis ist das gleiche Datenformat wie bei print () nach dem Training mit TensorFlow. batch_size = 3, 3-faches Iterationsbeispiel. Das folgende Ergebnis wird aus der gespeicherten Datei gelesen und ausgegeben.
https://hydrocul.github.io/wiki/numpy/ndarray-io.html
np.save und np.load können ndarray in eine Datei ausgeben oder aus einer Datei eingeben. Das Format der Datei ist binär, und .npy wird häufig als Erweiterung des Dateinamens verwendet. Sie können ein ndarray in einer Datei speichern.
Wir erwägen, Eingabestapel, Ausgabestapel und Vorhersage in separaten Dateien zu speichern.
Wenn Sie jedoch Vorhersagen erhalten, wird das Lernen in dieser Zeit wahrscheinlich Fortschritte machen. Daher ist es möglicherweise besser, Gewicht und Verzerrung zu sparen und das Netzwerk neu zu konfigurieren. http://qiita.com/7of9/items/ce58e66b040a0795b2ae
Recommended Posts