問題タブ [lasagne]
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 - ピクルス パイソン ラザニア モデル
ここのレシピに従って、ラザニアで単純な長短期記憶 (lstm) モデルをトレーニングしました: https://github.com/Lasagne/Recipes/blob/master/examples/lstm_text_generation.py
アーキテクチャは次のとおりです。
モデルは次の方法でトレーニングされます。
モデルを再度トレーニングする必要がないように、モデルを保存するにはどうすればよいですか? scikit では、通常、モデル オブジェクトをピクルするだけです。ただし、テアノ/ラザニアとの類似のプロセスについては不明です。
python - lasagne NeuralNet で Conv2DLayer を使用中にエラーが発生しました
私は Windows 8.1 64 ビットを使用しており、ここで推奨されるhttp://deeplearning.net/software/theano/install_windows.html#installing-theano python win-python ディストリビューション (python 3.4) を使用します。チュートリアルのすべてのステップ (CUDA と GPU 構成を除く) を実行し、すべてをアンインストールしてもう一度実行しましたが、問題は解決しません。ラザニアを使用して畳み込みニューラル ネットワークを構築しようとしています。これまでにテストしたすべてのレイヤーが機能しています。Conv2DLayer のみがエラーをスローします。コードは次のとおりです。
以下に、発生したエラーを貼り付けました。gcc に何か問題があると思います (チュートリアルから正確なバージョンを取得しました) が、何が問題なのか実際にはわかりません。ラザニア/テアノの最先端バージョンがあります。Anaconda と WinPython の両方のディストリビューションを試しました。Python 2.7 と 3.4 の両方を試してみましたが、この問題の解決策が実際には見つかりません。デンス/maxPooling レイヤーのみのネットは正常に動作しています。この問題を解決するのに役立つ提案をいただければ幸いです。
エラーメッセージ:
python - 線形回帰ラザニア/テアノ
ラザニアで単純な多変量線形回帰を作成しようとしています。これは私の入力です:
この 2 つのデータ ポイントについて、ネットワークはy
完全に学習できるはずです。
モデルは次のとおりです。
何度か実行したら
コストは無限に爆発します。ここで何がうまくいかないのですか?
ありがとう!
neural-network - 画像内のオブジェクト座標 (x,y) を見つけようとすると、ニューラル ネットワークが学習せずにエラーを最適化するようです
サイズ 200x200 の白い背景の上に貼り付けられた単一のコインの画像を生成します。コインは、8 つのユーロ コインの画像 (各コインに 1 つずつ) からランダムに選択され、以下を備えています。
- ランダムな回転;
- ランダムなサイズ (固定範囲内) ;
- ランダムな位置 (コインがトリミングされないように)。
以下に 2 つの例を示します (センター マーカーを追加): 2 つのデータセットの例
Python + ラザニアを使用しています。カラー画像を、x 用と y 用に 1 つずつ、完全に接続された 2 つの線形ニューロンの出力層を持つニューラル ネットワークにフィードします。生成されたコイン画像に関連付けられたターゲットは、コイン中心の座標 (x,y) です。
私は試しました(畳み込みニューラルネットを使用して顔のキーポイントを検出するチュートリアルから):
- さまざまなレイヤー数とユニット数 (最大 500) の高密度レイヤー アーキテクチャ。
- 畳み込みアーキテクチャ (出力前に 2 つの高密度レイヤーを使用) ;
- 損失関数としての二乗差 (MSE) の合計または平均。
- 元の範囲 [0,199] または正規化された [0,1] のターゲット座標。
- ドロップアウト確率が 0.2 のレイヤー間のドロップアウト レイヤー。
私は常に単純な SGD を使用し、学習率を調整して、エラー曲線が適切に減少するようにしました。
ネットワークをトレーニングすると、出力が常に画像の中心になるポイントまでエラーが減少することがわかりました。出力は入力から独立しているように見えます。ネットワーク出力は、私が与えたターゲットの平均のようです。コインの位置が画像上で均一に分布しているため、この動作はエラーの単純な最小化のように見えます。これは望ましい動作ではありません。
ネットワークが学習しているのではなく、ターゲットに対する平均誤差を最小限に抑えるために出力座標を最適化しようとしているだけだと感じています。私は正しいですか?どうすればこれを防ぐことができますか? 出力ニューロンのバイアスを削除しようとしたのは、バイアスを変更しただけで、他のすべてのパラメータがゼロに設定されているのではないかと思ったのですが、うまくいきませんでした。
ニューラル ネットワークだけでこのタスクをうまく実行できるでしょうか? 存在する/存在しないバイナリ分類のためにネットをトレーニングし、画像をスキャンしてオブジェクトの可能な位置を見つけることもできると読みました。しかし、ニューラルネットの順方向計算だけでそれが可能かどうか疑問に思いました。
neural-network - get_all_param_values() lasagne.layer の読み方
畳み込みニューラル ネットワークを作成するために、Lasagne と Theano を実行しています。私は現在、
私の最後のレイヤーは、ソフトマックスを使用して分類を出力するdenselayerです。私の最終的な目標は、分類 (0 または 1) ではなく、確率を取得することです。
get_all_param_values() を呼び出すと、広範な配列が提供されます。最後の高密度レイヤーの重みとバイアスのみが必要です。これについてどう思いますか?l_out.W と l_out.b と get_values() を試しました。
前もって感謝します!