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

推薦する

type=fileファイル変更フォームの名前が正常にエコーされない問題を解決

easyui フレームワークのコードは次のとおりです。 css: .ファイルボックス{ フロート:...

MySQL FAQ シリーズ: ibdata1 ファイルのサイズが突然増加しないようにする方法

0. はじめにibdata1 ファイルとは何ですか? ibdata1 は、innodb システム テ...

HTML でカスタム画像を使用してチェックボックスを表示する方法

チェックボックスの使用を実装するために画像を使用する必要がある場合は、それを使用して実装できます。実...

ローカルアイデアアクティベーションサーバーの構築に関する詳細なチュートリアル

序文ブロガーはアイデアIDEを使用しています。アイデア公式が最近サードパーティのアクティベーションサ...

MySQL インデックスの効率的な使用ガイド

序文ほとんどの方がMySQLとインデックスを使用したことがあると思いますが、適切なインデックスを作成...

外部キー制約を持つテーブルデータを削除する MySQL メソッドの紹介

MySQLでテーブルやデータを削除する場合、 [エラー] 1451 - 親行を削除または更新できませ...

Vue でスクロールバーのスタイルを変更する方法

目次まず、スクロール バーのスタイルを変更するには、疑似要素-webkit-scrollbarを使用...

Dockerイメージをパッケージ化し、リモートサーバーにプッシュしてk8sにデプロイする方法

目次1. Dockerファイル2. pom 構成3. イメージプッシュ4. k8s デプロイメント前...

Centos7 システムでの MySQL マスター スレーブ同期構成スキーム

序文最近、高可用性プロジェクトに取り組む際には、データの同期が必要になっています。ノードが 2 つし...

VMware vCenter の不正な任意ファイルアップロードの脆弱性 (CVE-2021-21972) について

背景CVE-2021-21972 VMware vCenter における認証されていないコマンド実行...

MySQL 5.7.17 インストール グラフィック チュートリアル (Windows)

最近データベースを学び始めたのですが、とても興味深いコースだと感じていますが、含まれる内容の多くは私...

MySQL エラー 1290 (HY000) の解決方法

私は長い間問題に取り組み、文法上の問題を何度も確認しました。しかし、後でネットで調べてみたら、突然理...

Linux dateコマンドの知識ポイントのまとめ

使用法: date [オプション]... [+フォーマット]または: date [-u|--utc|...

JS のオブジェクトリテラルの詳細な説明

目次序文1. オブジェクト構築にプロトタイプを設定する1.1 __proto__ の使用における特殊...

win10でのmysql5.7.21解凍バージョンのインストールチュートリアル

次のように、Win10でMysqlの解凍バージョンをインストールします。環境: win10 64ビッ...