問題タブ [keras]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Keras/Python - RNN がステートフルである場合、完全な input_shape を提供する必要があります (バッチ サイズを含む)
ステートフル RNN を実装しようとしていますが、「完全な input_shape (バッチ サイズを含む)」を要求し続けます。input_shape
そのため、引数と引数についてさまざまなことを試しましたがinput_batch_size
、どちらも機能していないようです。
コード:
トレースバック:
neural-network - Keras IndexError: インデックスが範囲外です
私はKerasを初めて使用し、データセットでバイナリMLPを実行しようとしていますが、理由がわからないままインデックスを範囲外に取得し続けています。
エラー:
なぜこれが起こっているのか誰にも分かりますか?他のモデルを問題なく実行できます
python - Keras の損失が非常に大きく、エポックごとに減少しない
Keras を使用して、再帰型ニューラル ネットワークを構築およびトレーニングしています。
padded_training_seqs
[緯度、経度、温度] のシーケンスの配列であり、[0,0,0] の値ですべて同じ長さにパディングされます。このネットワークをトレーニングすると、最初のエポックで約 63 の損失が発生し、さらに多くのエポックで増加します。これによりmodel.predict
、コードの後半で呼び出しが行われ、トレーニング値から完全に外れている値が返されます。たとえば、各シーケンスのほとんどのトレーニング値は 前後[40, 40, 20]
ですが、RNN は一貫して 前後[0.4, 0.5]
の値を出力するため、マスキング レイヤーに何か問題があると思います。
トレーニング X ( padded_training_seqs
) データは次のようになります (かなり大きいだけです)。
トレーニング Y ( training_final_steps
) データは次のようになります。
python - カテゴリ データに Keras/ニューラル ネットワークを使用する
Keras の minst データセットのCNN の例では、手書きの数字を認識するための優れた CNN ネットワークを作成する方法を説明しています。問題は、新しい数字を予測する方法を教えてくれないことです。
たとえば、次のようにすると、画像が表示されます。
何桁だと思うかを伝える代わりに、10個の数字のリストを提供します(おそらく確率)
machine-learning - ユーザーのフィードバックを ML モデルに組み込む
分類 (0/1) NLP タスク用の ML モデルを開発し、運用環境にデプロイしました。モデルの予測がユーザーに表示され、ユーザーはフィードバックを提供するオプションがあります (予測が正しかったか間違っていたか)。
このフィードバックをモデルに継続的に組み込むにはどうすればよいですか? UX の観点からは、ユーザーが特定の入力に対して 2 回または 3 回以上システムを修正したり教えたりする必要はありません。システムは速く学習する必要があります。つまり、フィードバックが「速く」組み込まれる必要があります。(Google 優先トレイはこれをシームレスに行います)
システムを改善できるこの「フィードバックループ」をどのように構築しますか? 私はネットでたくさん検索しましたが、関連する資料を見つけることができませんでした。どんな指針も大いに役立ちます。
Pls は、新しいデータ ポイントを含めてモデルをゼロから再トレーニングするとは言いません。グーグルやフェイスブックがスマートシステムを構築する方法とはまったく違う
私の質問をさらに説明するには、Google のスパム検出器、優先受信トレイ、または最近の「スマート リプライ」機能について考えてみてください。ユーザー フィードを (高速に) 学習/組み込む能力があることはよく知られている事実です。
その間ずっと、ユーザーのフィードバックをすばやく取り入れます (つまり、ユーザーはデータ ポイントごとに最大 2 ~ 3 回システムに正しい出力を教える必要があり、システムはそのデータ ポイントの正しい出力を提供し始めます)。また、古い学習を維持し、新しいデータポイントからの学習を取り入れながら、古いデータポイント(以前は正しい出力をしていた場所)で間違った出力を出し始めません。
そのようなシステムを構築する方法に関するブログ/文献/ディスカッションは見つかりませんでした - MLシステムで詳細なループを説明するインテリジェントなシステム
私の質問がもう少し明確になることを願っています。
更新:私が見つけたいくつかの関連する質問は次のとおりです。
https://datascience.stackexchange.com/questions/1073/libraries-for-online-machine-learning
http://mlwave.com/predicting-click-through-rates-with-online-machine-learning/
更新:まだ具体的な答えはありませんが、そのようなレシピは存在します. 次のブログMachine Learning != Learning Machineの「フィードバックから学ぶ」セクションを読んでください 。このジャンは、「マシンにフィードバック取り込みループを追加する」ことについて語っています。ここ、ここ、ここでも同じ4 .
neural-network - Keras での画像のバイナリ分類
Keras で 1 つのチャネルのみを使用して画像 (29 x 29) を分類しようとしています。中央のピクセルが特定の範囲内にある場合、出力は 1 になり、そうでない場合は 0 になります。
トレーニング セットには、出力 1 の 10000 枚の画像と出力 0 の 30000 枚の画像があり、次のアーキテクチャを使用しています。
コンパイルには、binary_crossentropy 損失を使用しています
精度は変動しますが、エポックごとに最終値 0.75 に達します。不足しているものはありますか?これを機能させるために変更または追加する必要があるものはありますか?
python - kerasでLSTM回帰の入力データを準備するには?
5K 行 (検証用に -1K) と 17 列 (最後の整数バイナリ ラベル) を含むデータセットがあります。
私のモデルは、単純にこの 2 層 LSTM です。
私のデータセットをパンダでロードした後
モデルを実行しようとすると、次のエラーが発生します。
例外: TensorFlow を使用する場合、シーケンスのタイムステップ数を明示的に定義する必要があります。- 最初のレイヤーが Embedding の場合は、必ず「input_length」引数を渡してください。それ以外の場合は、最初のレイヤーに、時間軸を含む「input_shape」または「batch_input_shape」引数があることを確認してください。
何を入れればいいinput_length
ですか?総行数?
私のデータフレームは train_X=(4000, 17) train_y=(4000,) のような形をしているので、この種のモデルを供給するためにどのように準備できますか? 入力データの形状を変更する必要がありますか?
助けてくれてありがとう!! (=
python - Keras: CuDNN が利用できない?
のバックエンドでの例 kaggle_otto_nn.py
を実行しています。Keras
theano
次のプリントアウトの 5 行目には、次のように書かれています。
CNMeM は初期サイズで有効です: メモリの 90.0%、CuDNN は使用できません
CuDNN not available
GPUデバイスが検出可能であるため、これは問題ですか? プログラムを GPU で正しく実行していますか? または、実際には GPU 上で実行されていません。
python - リカレントニューラルネットワークにおけるエポックと反復
RNN と LSTM を使用した Keras のテキスト生成の例を見ていますが、 epochとiterationという用語の違いについてまだ混乱しています。
ここに同じことを尋ねる前の質問がありますが、私は答えを理解できません。または、この答えは私が理解している方法とは異なり、次の例での処理方法とも異なります。この回答に基づいて、
1エポック= すべてのトレーニング例の 1 つの順方向パスと 1 つの逆方向パス
反復回数=パス回数、[バッチ サイズ] を使用した各パスのサンプル数。
例: 1000 個のトレーニング サンプルがあり、バッチ サイズが 500 の場合、1 エポックを完了するのに 2 回の反復が必要です。
こう締めくくります(#training examples/batch size) = (#iterations/#epochs)
。
ただし、次の例は、私が理解しているように、前の結論とは異なります。
ここでは、反復が60で、エポック数が1に設定されているため、かなり混乱しました。述べたように、60回の反復for iteration in range(1, 60)
があるようです。そして、反復ごとに、 for ループごとに記述されているように 1 つのエポックが実行されました。model.fit(X, y, batch_size=128, nb_epoch=1)
繰り返しますが、ここにはbatch_size=128
. では、反復とは正確には何を意味するのでしょうか?
この例に基づいて、反復とエポック の違いを誰でも説明できますか?