機械学習のExampleから覚えるPython(関数呼び出し)
今までPythonを感覚的に使っていたので、改めて文法を知ろうかなと。
その際にいま流行りの機械学習(深層学習)のExampleを例にすると
わかりやすいのかなと思ったので書いてみる。
※基本的には Python3.x系のつもりで記載してます
Example
https://www.tensorflow.org/tutorials/ に記載されている
import tensorflow as tf mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(), tf.keras.layers.Dense(512, activation=tf.nn.relu), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation=tf.nn.softmax) ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test)
※本記事記載の時点のコードです。
関数の呼び出し
mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data()
tf.keras.datasets.mnist
のload_data
関数を呼んでいます。
その返り値を x_train
,y_train
, x_test
,y_test
に代入しています。
load_data
関数はこちらで定義されています。
@keras_export('keras.datasets.mnist.load_data') def load_data(path='mnist.npz'):
「@」(デコレータ)は今後書こうと思います。
呼び出しの時に 引数path
は default : mnist.npz
のままで良いということで省略してますね。
return
としても以下で定義されているためそのまま格納ですね!
return (x_train, y_train), (x_test, y_test)
返り値の受け取りについては後々...