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

推薦する

JSはタイムラインの自動再生を実現する

最近、次のような効果を実装しました。再生ボタンをクリックするとタイムラインの再生が開始され、一時停止...

CSS3 で背景ぼかしを実現する 3 つの方法 (要約)

1. 通常の背景ぼかしコード: <スタイル> html, 体 { 幅: 100%; 高...

MySQLデータ移行方法とツールの分析

この記事は主にMySQLデータ移行方法とツールの分析を紹介します。サンプルコードを通じて詳細に紹介さ...

Nginx リバース プロキシと負荷分散の実践

リバースプロキシリバースプロキシとは、プロキシサーバーを介してユーザーのアクセス要求を受信し、ユーザ...

ウェブページを作成するために最もよく使用されるHTMLタグ

1. よく使われるHTMLタグの最適化HTML は Web 編集者にとって基本的なスキルであるべきで...

Vueでaxiosをカプセル化する方法

目次1. インストール1. はじめに3. インターフェースルートアドレス4. 使用例4.1 ダウンロ...

JS 手ぶれ補正機能の実装と使用シナリオ

目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...

あまり多くのコードを書かずに、ハイパーリンクを使ってシンプルで美しいカスタムチェックボックスを実装できます。

今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...

WeChatミニプログラムでのマップの正しい使用例

目次序文1. 準備2. 実際の戦闘2.1 ミニプログラムの権限を設定する2.2 カプセル化ツールの機...

Vue カプセル化コンポーネント アップロード画像コンポーネント

この記事の例では、参考のためにvueアップロード画像コンポーネントの具体的なコードを共有しています。...

CSS スタイル分類入門(基礎知識)

CSSスタイルの分類1. 内部スタイル ---- インラインスタイルスタイルタグの使用 <ス...

Linux で特定の時間にコマンドを実行する方法

先日、rsync を使用して LAN 上の別のシステムに大きなファイルを転送していました。非常に大き...

Reactはラジオコンポーネントのサンプルコードを実装します

この記事の目的は、最も明確な構造を使用していくつかのコンポーネントの基本機能を実装することです。皆さ...

CSS 手法を使用してモジュール性を実現する例

1. CSS 方法論とは何ですか? CSS methodologiesデザイン パターンまたは CS...

Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践

目次1. 通常どのようなコンテンツを処理する必要があるか2. 基本的な考え方3. 具体的な実践の詳細...