「ゼロから作るDeepLearning③」を写経してみる(1)箱としての変数
第3弾のゼロから作るDeepLearning③は、ゼロから、たった60のステップで、Deep Learning用のフレームワーク『DeZero』を作っちゃうらしいです。もちろん、Deep Learningを実際に行うのであれば、PyTorchやTensorFlow(Keras)を使用すればよいのですが、『自分で作るからこそ、見えるモノ』があるらしく、楽しく写経していきたいと思います。(→この本を電子書籍で読む方法はこちらへ)
最初はGoogle Colaboratoryで、途中から、WindowsパソコンにAnacondaをインストールして、写経してみたいと思います。
開発環境
Windows 10 Pro
Chrome
Google Colaboratoyへログイン
Googleアカウントがなければ作成し、 https://colab.research.google.com/ にログインします。そして、『ノートブックを新規作成』をクリックします。
なんとなくdarkモードが好きなので、画面右上の設定ボタンをクリックし、
テーマを 『dark』 にして、『保存』 をクリックします。
darkモードになりました。画面左上の、Untitledxxx.ipynb をクリックして、ファイル名を変更して、Ctrl + S で保存します。
『DeZero』で用いる変数をVariableクラスとして実装する
Deep Learningのフレームワークを用いるということは、『何か』を入力して、『何らかの結果』を返してもらうという作業になります。
その『何か』は、コンピュータが、今回は、DeZeroが理解できる形として、決まり事を作っておく必要があります。この入力する『何か』の入れ物である『変数』を、Variableクラスとして実装します。
なお、『変数』とは、『dataを入れるための箱』だそうです。
クラスって何?
いきなりでてきました。クラス!
『クラス』とは、『オブジェクト指向言語』における、『設計図』のようなものです。(参考: クラス (class)とは )
詳しくは、アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座の本がお勧めですが、とりあえず、今回はすっ飛ばしてよいと思います。
Variableクラスが『箱』となるように実装する
やっと、Colaboratoryに以下を入力して実行(Run)(Shift + Enter)します。
# Variableクラスの実装
class Variable:
def __init__(self, data):
self.data = data
# numpyをimport
import numpy as np
data = np.array(1.0)
x = Variable(data)
print(x.data)
実行結果
numpyって何?
numpyはPythonで学術計算をするためのライブラリだそうです。機械学習では行列を計算することが多いのですが、numpyを用いると、それが簡単になります。必須です。
参考:【Python入門】numpyで計算をしてみよう
侍テック編集部 2018/1/25
Google Colaboratoryでインデントをスペース4つに変更する
Pythonは、タブはスペース4個とすることが多いので(PEP8 ?)、そのように設定します。
ツールバーの『ツール』>『設定』の順にクリック
『エディタ』をクリック
『インデント幅(スペース)』を、2 から 4 に変更します。
ディスカッション
コメント一覧
まだ、コメントがありません