こんにちは、私は彼らがMNISTデータベースを使用するチュートリアルに従っています。今すぐcPickleを使用してデータを解凍し、リストのタプルなどを取得します。私は自分のデータを使いたいですが、私はCSV形式でそれを持っていますし、MNIST形式に変換する方法がわかりません。私は私のトレーニングデータのための48個の単位を使用し、最後の一つは、私はcsvファイル持っているかのリストのリストPython
例私の望ましい結果である:
training_data, validation_data, test_data = cPickle.load(f)
:私は、彼らがこれを使用して、次のチュートリアルで
1,2,3..........48,1
を
そして、もし私
印刷training_data
私はこれを取得:
(array([[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
...,
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.],
[ 0., 0., 0., ..., 0., 0., 0.]], dtype=float32), array([5, 0, 4, ..., 8, 4, 8]))
印刷training_data [0]
[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]]
印刷training_data [0] [0]の各セットの値のnumpy.array()、及びtraining_data [1] [0]でありますfloat32にはすべてのセットの出力が表示されます。
そして、私がやっているコードは、このようなものですが、配列について混乱イム()とDTYPE =のfloat32(最初は)あなたができるデータ構造を理解するためのプロンプト
def load(filename):
finalDataset = []
res = 0
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
datos = list(lines)
for i in datos:
tempA = np.array(i[:len(datos)-2]).astype(np.float64)
tempB = np.float64(i[len(datos)-1:])
finalDataset.append((tempA,tempB))
return finalDataset
私は正しい考えをするかどうかはわかりませんが、私は2つのリストを一緒に必要とし、データと期待しています。私は例を示します: 最初の行の内容すべて、データと結果、私はタプルで配列が必要です、そして、タプルは配列リストと浮動小数点数を持っています。それが私の考えです。この場合、私はデータと応答を分割し、各行の応答が側面にある必要があります – Ellebkey
そして、私はそれがとてもうまく理解できないので、私が望む構造がどういうものなのか正確には分かりません。 type(training_data)=、type(training_data [0])= 、type(training_data [1])の各要素のタイプの結果です。 (training_data [1] [0])= と入力します。 –
Ellebkey
csvからtraining_dataの構造に変換したいのですか? – PeterE