問題タブ [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.

0 投票する
1 に答える
3425 参照

python - Theano - Keras - 「プール」という名前のモジュールはありません

bleeding edge theano、および次のパッケージを次の順序でインストールしました。

gfortran:

OpenBLAS:

Anaconda、最初に Anaconda3-2.4.1-Linux-x86_64.sh をダウンロードし、次に:

次に、pydot(更新後):

それらをクローンしてTheanoをインストールしました:

から引っ越してきwindowslinux、theano がインストールされたことをとてもうれしく思います。

小さなスクリプトを実行して、実際に正しく機能していることを確認します。

したがって、それは機能しており、ポイントを証明するための些細な例かもしれません.

その後、来るkeras

次に、keras のサンプル ディレクトリに移動し、次のように入力します。

次のエラーが表示されます。

さて、一体何だ...パッケージが足りないのだろうか?

kerasこれは の問題ではなく、の問題だと思いますtheano

先に進んで汚いトリックを試してからpip install pool、上記の例を再実行しましたが、エラーが発生しました:

必要に応じて、スタック トレースも提供できます。

始めるのにとても苦労しましたがtheano、熱心に始めたいと思っています... 設備のエネルギーがすべて尽きてしまう前に、

0 投票する
1 に答える
2185 参照

machine-learning - Keras でのシーケンスのラベル付け

私は文のラベル付け問題に取り組んでいます。自分で埋め込みとパディングを行いましたが、入力は次のようになります。

文中のすべての単語について、4 つのクラスのいずれかを予測したいので、目的の出力は次のようになります。

私の単純なネットワーク アーキテクチャは次のとおりです。

トレーニング中は約 95% を示していますが、トレーニング済みモデルを使用して新しい文を予測しようとすると、結果は非常に悪くなります。モデルは最初の単語のいくつかのクラスを学習したばかりのようで、毎回それを示しています。問題は次のとおりだと思います。

  1. 自分でパディング (文末のゼロ ベクトル) を書いた場合、学習が悪化する可能性はありますか?

  2. パディングなしで、さまざまな長さの文を学習しようとする必要があります (はいの場合、Keras でそのような種類のモデルをトレーニングする方法を教えてもらえますか?)

  3. 学習目的を間違えましたが、平均二乗誤差、バイナリクロスエントロピーなどを試してみましたが変わりません。

  4. TimeDistributedDenseとの何かsoftmax、私はそれがどのように機能するかを知っていると思いますが、それでも 100% 確実ではありません.

この問題に関するヒントやヘルプをいただければ幸いです。ありがとうございます。

0 投票する
1 に答える
2148 参照

python - LSTM レイヤーをスタックして音声ファイルを分類する方法

私は離散音声を分類するために LSTM ベースの分類子を実装しようとしています。13 個の mfcc で特徴ベクトルを作成しました。特定のファイルの 2D ベクトルは [99, 13] です。mnist_irnn の例に従った後、音声ファイルを分類するために単層 RNN をセットアップできました。しかし、ネットワークにレイヤーを追加したいと考えています。したがって、2 つの LSTM 層とソフトマックス層を出力層としてネットワークを実装しようとしています。ここで多くの投稿を行った後、次のようにネットワークを設定できました。ここでは、モデルの構築時に例外がスローされません。

私はさまざまなポイントでさまざまな値を試してきました。(今のところ、小さなサンプルで試しているため、値は非常に小さいです)しかし、現在、トレーニング中に例外がスローされています。若干の寸法ミスマッチ。

ここで何が間違っているのか知りたいです。私は一日中コードを調べてきましたが、それでも次元の不一致の理由を理解できません。

さらに、誰かが output_dim の意味を説明できれば、本当にありがたいです。(特定のレイヤーに n 個のノードがある場合、単一のノードによって出力されるベクトルの形状ですか? 次のレイヤーのノードの数と等しくなければなりませんか? )

0 投票する
1 に答える
1005 参照

python - 双方向 LSTM (BLSTM) のトレーニング、テスト、および検証セット

通常の ANN や標準的な機械学習手法に関して言えば、トレーニング、テスト、および検証セットがどうあるべきか (概念的にも、経験則の比率でも) を理解しています。ただし、双方向 LSTM (BLSTM) ネットの場合、データを分割する方法がわかりません。

監視された健康値で構成される個々の被験者データの予測を改善しようとしています。最も単純なケースでは、被験者ごとに 1 つの長い時系列の値 (>20k 値) があり、その時系列の連続部分は、被験者の現在の健康状態に応じて一連のカテゴリからラベル付けされます。BLSTM の場合、ネットはすべてのデータで同時に順方向および逆方向にトレーニングされます。問題は、1 つの被験者の時系列をどのように分割するかということです。

  • たとえば、最後の 2,000 個の値だけを取得することはできません。それらはすべて 1 つのカテゴリに分類される可能性があるためです。
  • また、時系列をランダムに切り刻むことはできません。学習フェーズとテスト フェーズの両方がバラバラなチャンクで構成されるためです。

最後に、各被験者は (私が知る限り) わずかに異なる (しかし類似した) 特性を持っています。では、おそらく、私は何千もの被験者を持っているので、一部をトレーニングし、一部をテストし、他のものを検証しますか? ただし、科目ごとに違いがあるため、1 つの科目だけを開始することを検討している場合、どのようにテストを設定すればよいでしょうか?

0 投票する
1 に答える
473 参照

python - theanoで関数を定義する正しい方法は?

バックグラウンド:

通常、「x = fmatrix()」のような入力で theano 関数を定義しますが、CTC コストで動作するように keras (theano に基づく深層学習ライブラリ) を変更しているときに、非常に奇妙な問題に気付きました。のコスト関数は次のように宣言されます。

それ以外の

トレーニング プロセスははるかに速く収束します。

簡単な問題:

上記のコード全体はかなり大きいです。そこで、次のように問題を単純化しようとします: レーベンシュタイン編集距離を計算する関数を

次に、2 つの関数 f1 と f2 を次のように定義します。

f1 と f2 で計算すると、結果は異なります。

f1 は正しい結果を返しますが、f2 はそうではありません。

だから私の問題は次のとおりです: theano 関数を定義する正しい方法は何ですか? そして、実際に f2 で何がうまくいかなかったのでしょうか?

アップデート:

バージョン 0.8.0.dev0 の theano を使用しています。theano 0.7.0 を試したところ、f1 と f2 の両方で正しい結果が得られました。多分これはtheanoのバグですか?

Update_1st 2016 年 1 月 27 日:

この問題に関する @lamblin の説明 ( https://github.com/Theano/Theano/issues/3925#issuecomment-175088918 ) によると、これは実際には theano のバグであり、最新 (1- 26-2016) バージョン。便宜上、ランブリンの説明をここに引用します。

最初の方法が最も自然な方法ですが、理論的にはどちらも同等のはずです。x3 と x4 は「alloc」操作の出力として作成され、その入力は x1 と x2 のような自由な入力ではなく定数 3 になりますが、[x3, x4] を入力としてtheano.function は、計算グラフをその場でカットする必要があります。

私の推測では、x3 または x4 は常に定数 0 であることが保証されていると信じて、scan の最適化が時期尚早であり、それらに値が提供されたときに正しくないことが証明されたいくつかの単純化を行います。それはスキャンの実際のバグでしょう。」

Update_2nd 2016 年 1 月 27 日:

残念ながら、バグはまだ完全には修正されていません。バックグラウンド セクションで、コスト関数の 1 つの入力が tensor.zeros() として宣言されている場合、収束プロセスがはるかに高速になると述べました。その理由を見つけました。不思議なことに、これは収束に役立ちましたが、間違った結果です。ここ ( https://github.com/daweileng/TheanoDebug ) で簡単な問題再現デモを管理し、ctc_bench.py​​ を実行すると、結果を確認できます。

0 投票する
6 に答える
121234 参照

python - Kerasでモデルをフィッティングするとき、バッチサイズとエポック数はどれくらいの大きさでなければなりませんか?

私は 970 個のサンプルでトレーニングを行っており、243 個のサンプルで検証しています。

val_accを最適化するためにKerasでモデルをフィッティングするとき、バッチサイズとエポック数はどのくらいの大きさでなければなりませんか? データ入力サイズに基づいて使用する経験則はありますか?

0 投票する
1 に答える
506 参照

python - Kerasでモデルの期待されるパフォーマンスに関するデータを記録する方法は?

最適なモデルをファイル システムに保存するスクリプトを作成し、モデルの予想されるパフォーマンスに関するデータも別のテキスト ファイルに記録するようにします。

現在のコード:

現在、最良のモデルを HDF5 ファイルとして保存しています。Keras を使用して HDF5 ファイルに保存されている最適なモデルのパフォーマンスを別のテキスト ファイルに記録する方法はありますか?

編集:ここでこれを使用する方法はありますかhttp://keras.io/callbacks/ ?