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 を実装します (デモ付き)

推薦する

docker-compose.yml ファイル内の一般的なテンプレート コマンドの詳細な説明

注意: docker-compose.yml ファイルを書き込むときは、すべてのコロン (:) とダ...

Reactベースのコンポーネントのカプセル化の実装手順

目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...

MySQL でのトランザクションの使用方法

基礎トランザクションは、SQL ステートメントのグループに対するアトミック操作です。つまり、グループ...

nginx がドメイン名アクセス用に設定されている場合にドメイン名の後に 2 つのスラッシュ // が表示される問題の解決方法

最近、個人のウェブサイトを書き直しました。Alibaba Cloudで新しいサーバーを購入しました。...

Vue3 ミックスインの使い方

目次1. mixin の使い方は? 2. ミックスイン使用時の注意2.1. ミックスイン オブジェク...

モバイルウェブページのサイズ調整を実装する方法

ようやく手元のプロジェクトが終了し、行方不明だった人たちが戻ってきました!プロジェクトを進める過程で...

ボタンをEnterキーに関連付けるjsコード

コードをコピーコードは次のとおりです。 <html> <ヘッド> <ス...

MySQL における楽観的ロックと悲観的ロックの例

データベース管理システムにおける同時実行制御のタスクは、データベース内の同じデータに同時にアクセスす...

webpack -v エラー解決

背景webpackのバージョンを確認したいのですが、webpack -vを実行するとエラーが報告され...

docker nginxコンテナの起動とローカルへのマウントの詳細な説明

まず、nginx コンテナ内の構造:コンテナを入力します: docker exec -it b511...

Linux のごみ箱メカニズムの実装プロセスと使用方法の詳細な説明

序文: Linux システムでの rm は元に戻せません。コマンドの設計自体に問題はありません。問題...

Python で pymysql モジュールを使用して MySQL データベースに接続する

pymysqlをインストールするpip install pymysql 2|0pymysqlの使用2...

Vue の vue.$set() メソッドのソースコード例の詳細な説明

Vue を使用してプロジェクトを開発する過程で、次のような問題によく遭遇します。Vue のデータでオ...

Alipay の新しいホームページのフロントエンドの実践的な概要

もちろん、ページ パフォーマンスの最適化に関する個人的な経験も含まれています。ここでいくつかの点につ...

docker.service 起動エラーの詳細なトラブルシューティング

エラーを報告するには次のコマンドを実行しますsystemctl dockerを再起動しますエラーメッ...