Python

Anaconda3でKerasとTheanoをインストールする[macOS Mojave]

こんにちは,しまさん(@nitkcdadon)です.

私は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をインストールする必要があります.

それについては以下のリンクで紹介しています.

MacでTensorflowをインストールするときに「Could not find a version that ...」と出る場合の対処法[Anaconda環境]macでPythonをAnaconda3で構築している場合でのTensorflowをエラー対処やダウングレードしてインストールする方法を紹介しています.機械学習,ディープラーニングに必要なものの一つであるTendorFlow.しっかり使えるよう環境を整えます....

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をインストールし,動作確認しました.

少しずつ機械学習に適した環境ができてきています.

チュートリアルが豊富で初心者に優しい世界で嬉しいです.

[入門]Python初心者が圧倒的成長するために使うサービス,本Python初心者向けの本,Webサービスについて網羅的に紹介をしています.Pythonの勉強で私が実際に使用した本です.入門書をさらに細分化し,学ぶならどのレベルがいいのかわかりやすくしています....
ABOUT ME
しまさん
てくてくぷれいす運営者のしまさんです. 高専→大学編入してから行動的な学生ブロガー? / 自身の変化を求めてブログを6月から開始 / グレープフルーツと本が好き / Distributed SNSやSecurity,プログラミングやVR等のIT系や自身の編入体験談や高専のこと,大学生活を書いてます(たまに小ネタ) / Progateで勉強中