こんにちは,しまさん(@shimasan0x00)です.
私はMac上でAnaconda3を導入してPython環境を構築しています.
今回はディープラーニング向けライブラリであるKerasとTheanoをインストールし,簡単なサンプルを動かして動作確認をしたいと思います.
環境
MacBook Pro (Retina, 13-inch, Early 2015)
macOS 10.14(Mojave)
Anaconda3(python3.6)
スポンサーリンク
Tensorflowのインストール
Kerasを使うのであればTensorflowをインストールしていなくてはいけません(公式で推奨されています).
2018年10月15日時点ではPython3.6までをサポートしています.
ですがAnaconda3を最近インストールされたかたはPython3.7になっていると思います.
ですのでAnacondaのバージョンをダウングレードし,その上でTensorflowをインストールする必要があります.
それについては以下のリンクで紹介しています.

スポンサーリンク
Kerasとは

KerasはPythonで書かれたディープラーニング向けライブラリの一つです.
Tensorflowではモデル設計部分の一部を自分の作成した数式で表現する必要がありますがKerasではメソッドが用意されていますのでより簡単にモデル記述ができます.
数学部分に触れることが少ないので初心者向けといえます.
Kerasのインストール
Kerasはpipコマンドでインストールができます.
pip install keras
Theanoとは

Theanoは数値計算を高速化してくれるライブラリです.
ディープラーニングに特化しているわけではありません.
主な開発は現在行われていません.
実行時にCのコード生成とコンパイルを行うことで高速化を実現しています.
また,自動微分を行ってくれます.
Theanoのインストール
Theanoはpipコマンドでインストールができます.
pip install theano
スポンサーリンク
Kerasのサンプル
Kerasの公式ドキュメントからMLPを用いた二値分類のコードを持ってきました.
import numpy as np
from keras.models import Sequential
from keras.layers import Dense, Dropout
# 疑似データの生成
x_train = np.random.random((1000, 20))
y_train = np.random.randint(2, size=(1000, 1))
x_test = np.random.random((100, 20))
y_test = np.random.randint(2, size=(100, 1))
model = Sequential()
model.add(Dense(64, input_dim=20, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
model.fit(x_train, y_train,
epochs=20,
batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
Theanoのサンプル
Theanoの公式ドキュメントからAdding two Scalarsのコードを持ってきました.
import numpy
import theano.tensor as T
from theano import function
x = T.dscalar('x')
y = T.dscalar('y')
z = x + y
f = function([x, y], z)
f(2, 3)
さいごに
今回はディープラーニング向けライブラリとしてKerasとTheanoをインストールし,動作確認しました.
少しずつ機械学習に適した環境ができてきています.
チュートリアルが豊富で初心者に優しい世界で嬉しいです.
