私はKerasでニューラルネットワークを訓練しようとしています。 私のトレーニングセットは、数百万の疎ベクトルから構成されています。フィットしかし疎なデータを使ったKeras神経回路網
model.fit(X_train, y_train, ...)
、()密なデータを操作する:
は、トレーニングを行うためには、私はmodel.fit()関数を使用します。したがって、ベクトルをネットワークに送る前にそれを動作させるために、それらを密ベクトルに変換します。
変換後はデータが大きくなりすぎてRAMに収まりません。
私はbatch_generator
を使用してネットワークをデータのまとまりにすることができます。しかし、私はそれを実行すると、のデータがの部分で実行されていない(テストセット上にある)結果が得られます(RAMに適合する)。
私の質問は:疎ベクトルに変換することなく、疎ベクトルを持つKerasニューラルネットワークを訓練する方法はありますか?
は/ Xの上に直接取り付けるのと同じ結果が得られるはずですyアレイ。おそらくあなたがより良い結果をもたらすのは実際にはオーバーフィットのケースです(データの小さなサブセット)。 – aleju
私はテストのために別のセットを使用しています。テストセットでオーバーフィットがうまくいくのはなぜですか?それは意味をなさない... – Noamiko
あなたの記事は、あなたが列車またはテストセットでのパフォーマンスを意味するかどうかを明確にしていませんでした。また、デフォルトで 'fit()'はデータをシャッフルしますが、ある時点でジェネレータがそのことを行うようにしてください。 – aleju