テストLSTMのTutorial例

6365 ワード

「A Nonsensical Language Model using Theano LSTM」と「不思議な再帰ニューラルネットワーク」が実現した例はよく似ている.このNBNotebookも実はGithubのプロジェクトでしたTheano_LSTMの説明ファイル.まず、上記の例が実行できるかどうかをテストします.

1 ipythonのnbviewerを起動する


nbviewerは素晴らしい機能ですが、以前はあまり使われていませんでした.私は黒いcommandlineが好きです.
  • ipython notebook --pylab inline nbviewerを起動すると、デフォルトのブラウザで新しいページが表示されます.
  • GithubからTheanoをダウンロードlstmコード、解凍後、Tutorial.ipynbがあります.作者が書いたTutorialファイルで、readme.mdより少し詳しいです.
  • からTutorial.ipynbのディレクトリの下、ipython notebook tutorial.ipynbです.エラーが見つかりました.Json形式が間違っています.Tutorial.ipynbはJson 4バージョンで、私のipythonはJson 3までしかサポートできません.
  • 私のipythonバージョンをチェックします:ipython --version、意外にも1.0.0です.
  • Anaconda 2をダウンロードします.2.0バージョン、インストール後、ipython --version3.0.0にアップグレードされました.
  • ipython notebook tutorial.ipynb、やっと運行できるようになりました.
  • theanoを再インストールします.参考文書:Windows 7(64)にTheano
  • をインストールします.
  • インストールtheano_lstm: pip install theano_lstm

  • 2運転コード

    Tutorial.ipynbのコードを結合し、test_lstm.pyを形成する
    python test_lstm.py

    結果:
    epoch 0, error=3468.54
    the joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke joke joke joke joke joke joke joke j
    oke joke joke joke joke joke joke joke joke
    epoch 100, error=2108.66
    epoch 200, error=1927.65
    epoch 300, error=1769.03
    epoch 400, error=1633.89
    epoch 500, error=1543.26
    the cat cooly ran , from car cooly ran , from joke catapult .
    epoch 600, error=1475.61
    epoch 700, error=1417.41
    epoch 800, error=1372.92
    epoch 900, error=1333.32
    epoch 1000, error=1306.30
    the wrangler do , it dog could book .
    epoch 1100, error=1291.08
    epoch 1200, error=1245.23
    epoch 1300, error=1237.58
    epoch 1400, error=1208.10
    epoch 1500, error=1181.93
    the wrangler do , a broom carried .
    epoch 1600, error=1166.97
    epoch 1700, error=1147.91
    epoch 1800, error=1136.50
    epoch 1900, error=1120.01
    epoch 2000, error=1101.10
    the calendar angrily ran .
    epoch 2100, error=1086.28
    epoch 2200, error=1078.11
    

    3質問


    Theano compile training functionの場合、エラーが発生しました(ただし、実行には影響しないようです):
    File "C:\Anaconda\lib\site-packages\theano\tensor\basic.py", line 1252, in mak
    e_node
        raise TypeError("MaxAndArgmax needs a constant axis")
    TypeError: MaxAndArgmax needs a constant axis
    

    理由は次のようです.
    It looks like the “axis” variable that is an input to an existing “_max_and_argmax” operator is not a Constant .
    もっと深く研究しなければならない.