出力が46226カテゴリのうちの1つであるデータセットがあります。私も数百万のサンプルを持っています。keras.utils.np_utils.to_categoricalのMemoryError
しかし、Keras/TensorFlowは出力のワンホットエンコーディングを必要とするようです。
np_utils.to_categorical(y_indices、num_classes)は、8000 x 46226の行列が必要であるため、メモリ不足エラーが発生します。
私の仕事用PCには、 'numpy.zeros((8000,46226))'を実行しようとすると、8Gのメモリがありますが、y_indicesをone-hotエンコーディングに変更するとfine.Butが動作しますエラー:
------------------------------------------------------------------------
MemoryError Traceback (most recent call last)
<ipython-input-9-7b9df1cf8cee> in <module>()
----> 1 Y_cat = to_categorical(Y, num_classes=nb_classes)
c:\program files\anaconda3\envs\python35\lib\site-packages\keras\utils\np_utils.py in to_categorical(y, num_classes)
22 num_classes = np.max(y) + 1
23 n = y.shape[0]
---> 24 categorical = np.zeros((n, num_classes))
25 categorical[np.arange(n), y] = 1
26 return categorical
MemoryError:
Kerasにこの障害を解決させる方法はありますか?もし誰かが最高のやり方を指摘したら、私はいくつかのコードを追加して嬉しいです。
データの保存方法を変更する(可能でないように思われる)か、メモリを増やすことをお勧めします。 –