Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization | Courseraを見ると途中でTensorFlowを使うようだ。
YouTubeが特に該当する動画に見える・・・。が、Udacityのud187と比較すると分かるがこれはTensorFlow 2.0ベースではなくそれ以前のDefine-and-Runのスタイルで書かれている。2.0でDefine-by-Runがデフォルトになることを考えると、少し古いってことになるのかな・・・。
import numpy as np import tensorflow as tf w = tf.Variable(0,dtype=tf.float32) cost = tf.add(tf.add(w**2,tf.multiply(-10.,w)),25) train = tf.train.GradientDescentOptimizer(0.01).minimize(cost) init = tf.global_variables_initializer() session = tf.Session() session.run(init) print(session.run(w)) session.run(train) print(session.run(w)) for i in range(1000): session.run(train) print(session.run(w))
Migrate your TensorFlow 1 code to TensorFlow 2 | TensorFlow Coreとtf.keras.optimizers.SGD | TensorFlow Core r2.0を見ながらTF 2.0用に書き直すと以下のようになるのかな:
import numpy as np import tensorflow as tf tf.enable_eager_execution() w = tf.keras.backend.variable(0) cost = lambda: w**2 - 10*w + 25 sgd = tf.keras.optimizers.SGD(learning_rate=0.01) for i in range(1000): sgd.minimize(cost, var_list=[w]) print(w.numpy())
他の動画は:
YouTube