機械学習の学習用データのテンソルをcsvに保存しようとしています.
csvに保存する関係で,3次元のテンソルを2次元にreshapeして保存しようとしたのですが,reshapeはint型のndarrayでしか出来ないらしく,どうすれば保存できるかわからず,困っています.
以下のコードの#3次元以上の配列は~以降でreshapeを行なっていますが,TypeError: only integer scalar arrays can be converted to a scalar index
とエラーが出てしまいました.
試した事
- float型からint型にキャストしてreshapeして再びfloat型に直して保存
結果
- 同様のエラーが発生
Python
1# ベクトル化した学習データを用意 2 embeded_sequences = np.zeros((sequence.shape[0], maxlen, dim)) # 空のndarrayを生成([データ数*max_len*dim]) 3 if os.path.exists(training_dir): 4 # トレーニングデータ読み込み 5 embeded_sequences = np.loadtxt(training_dir, delimiter=',') 6 else: 7 # トレーニングデータの作成と保存 8 print('make training data !!') 9 for i, row in enumerate(sequence): 10 for j, data in enumerate(row): 11 embedding_vector = embedding_metrix[data] 12 embeded_sequences[i][j] = embedding_vector 13 14 # 3次元以上の配列はcsvに保存できないので二次元[データ数*(max_len*dim)]に整形 15 embeded_sequences.reshape([embeded_sequences.shape[0], embeded_sequences.shape[1] * embeded_sequences[2]]) 16 np.savetxt(fname=training_dir, X=embeded_sequences, delimiter=',') 17 print('save training data !!') 18
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/06 03:23
2019/11/06 03:29 編集
2019/11/06 03:38