Ubuntu システムに Theano と Keras をインストールする方法

Ubuntu システムに Theano と Keras をインストールする方法

注: システムは Ubuntu 14.04LTS、32 ビット オペレーティング システムです。Python 3.4 は以前にインストールされていましたが、今回は theano と keras をインストールします。手順は次のとおりです。

1. pipをインストールする

sudo apt-get python3-setuptools をインストールします
sudo easy_install3 ピップ

2. g++をインストールする

sudo apt-get install g++

上記のコマンドを使用して g++ をインストールします。インストールが完了したら、g++ -version を使用してインストールが完了したかどうかを確認できます。 g++ がインストールされていない場合、theano をインポートするときに次のエラーが発生することに注意してください。

警告 (theano.configdefaults): g++ が検出されません。Theano は最適化された C 実装 (CPU と GPU の両方) を実行できず、デフォルトで Python 実装になります。パフォーマンスが大幅に低下します。この警告を削除するには、Theano フラグ cxx を空の文字列に設定します。
Theano は g++ でコンパイルすると高速になるので、検索しました。インターネットで見つかったソリューションのほとんどは、Anaconda のインストールに基づいています。ソリューションは次のとおりです。

conda install mingw libpython

3. theanoをインストールする

sudo pip3 install theano

このコマンドは、numpy、scipy など、theano に必要な依存関係を自動的にダウンロードします。

4. kerasをインストールする

sudo pip3 install keras

最後に、keras のデフォルトのバックエンドは tensorflow ですが、必要なのは theano なので、設定を変更する必要があることに注意してください。 (そして、Tensorflow は pip3 でインストールされますが、32 ビット システムには対応するバージョンがありません。ソース ファイルによるインストールも非常に複雑です)

vim ~/.keras/keras.json
{
 
  "画像の寸法順序":"tf",
 
  "イプシロン":1e-07,
 
  "floatx":"float32",
 
  "バックエンド":"theano"
}

5. テスト theano

numpyをnpとしてインポートする 
インポート時間 
theano をインポートする 
A = np.random.rand(1000,10000).astype(theano.config.floatX) 
B = np.random.rand(10000,1000).astype(theano.config.floatX) 
np_start = 時間.時間() 
AB = A.ドット(B) 
np_end = 時間.時間() 
X,Y = theano.tensor.matrices('XY') 
mf = theano.function([X,Y],X.dot(Y)) 
t_start = 時間.時間() 
tAB = mf(A,B) 
t_end = 時間.時間() 
print("NP時間: %f[s]、theano時間: %f[s] (CPUで実行すると時間は近いはずです!)" %( 
                      np_end-np_start、t_end-t_start)) 
print("結果の差: %f" % (np.abs(AB-tAB).max(), ))

要約する

以上が編集者が紹介したUbuntuシステムへのTheanoとKerasのインストール方法です。皆様のお役に立てれば幸いです!

以下もご興味があるかもしれません:
  • Ubuntu 19にTheanoをインストールする際の問題を解決する

<<:  Python ベースの MySQL レプリケーション ツールの詳細な説明

>>:  Vue は Tencent Map を統合して API を実装します (デモ付き)

推薦する

均一なアニメーション効果を実現するJavaScript

この記事の例では、JavaScriptで等速アニメーションを実装するための具体的なコードを参考までに...

Webデザインチュートリアル(8):Webページの階層と空間デザイン

<br />前回の記事:Webデザイン講座(7):Webページ制作の効率化1:必要な小言...

複数の条件を持つ MySQL クエリ メソッド

複数の条件を持つ MySQL クエリ環境: MySQL 5.7 where ステートメントに複数の ...

弾力性のあるナビゲーション効果を実現するJavaScript

この記事では、弾性ナビゲーション効果を実現するためのJavaScriptの具体的なコードを参考までに...

Vue はアップロードされた画像に透かしを追加する機能を実装します

この記事では、Vueでアップロードされた画像に透かしを追加する具体的な実装コードを参考までに共有しま...

Linux で nohup ログ出力が大きすぎる問題の解決方法の詳細な説明

最近、hadoop テスト クラスターで spark ストリーミング プログラムを実行し、その後、n...

docker の run/cmd/entrypoint の違いの詳細な説明

Dockerfile では、run、cmd、entrypoint はすべてコマンドを実行するために使...

MySQL InnoDB 監視 (システム層、データベース層)

MySQL InnoDB 監視 (システム層、データベース層) MySQL の監視に関しては、My...

M1 チップに MySQL 8.0 データベースをインストールする方法 (画像とテキスト)

1. ダウンロードまず、MySQLの国内ミラーをお勧めします。特に速いわけではありませんが、それで...

js 配列 fill() 充填メソッド

目次1. fill() 構文2. fill() の使用3. まとめ序文:配列の初期化方法についてはよ...

HTML テーブルタグチュートリアル (44): テーブルヘッダータグ

<br />ソース コード内で表の構造を明確に区別するために、HTML 言語では、表のヘ...

MySQLデータベースの共通操作スキルのまとめ

この記事では、MySQL データベースの一般的な操作テクニックをまとめます。ご参考までに、詳細は以下...

Uniappがスライディングスコアリング効果を実現

この記事では、スライディングスコアリングを実装するためのuniappの具体的なコードを参考までに共有...

統計量に対するmySql SQLクエリ操作

余計なことは言わないで、コードだけ見てみましょう〜 プロジェクト番号を選択、 sum(case wh...