TensorSlow
1.0.0
TensorSlow は、TensorFlow API を模倣した最小限の機械学習 API ですが、純粋な Python (C バックエンドなし) で実装されています。ソース コードは、最大限の効率ではなく、最大限の理解しやすさを念頭に置いて構築されています。したがって、TensorSlow は教育目的にのみ使用する必要があります。 TensorFlow などの深層学習ライブラリが内部でどのように機能するかを理解したい場合は、これが最適な方法かもしれません。
私は、deepideas.net のブログに、このライブラリを段階的に開発し、途中のすべての数学とアルゴリズムを説明する記事「Deep Learning From Scratch (ゼロからの深層学習)」を書きました。
輸入:
import tensorslow as ts
計算グラフを作成します。
ts.Graph().as_default()
入力プレースホルダーを作成します。
training_features = ts.placeholder()
training_classes = ts.placeholder()
モデルを構築します。
weights = ts.Variable(np.random.randn(2, 2))
biases = ts.Variable(np.random.randn(2))
model = ts.softmax(ts.add(ts.matmul(X, W), b))
トレーニング基準を作成します。
loss = ts.negative(ts.reduce_sum(ts.reduce_sum(ts.multiply(training_classes, ts.log(model)), axis=1)))
オプティマイザーを作成します。
optimizer = ts.train.GradientDescentOptimizer(learning_rate=0.01).minimize(J)
プレースホルダー入力を作成します。
feed_dict = {
training_features: my_training_features,
training_classes: my_training_classes
}
セッションを作成します:
session = ts.Session()
電車:
for step in range(100):
loss_value = session.run(loss, feed_dict)
if step % 10 == 0:
print("Step:", step, " Loss:", loss_value)
session.run(optimizer, feed_dict)
モデルパラメータを取得します。
weights_value = session.run(weigths)
biases_value = session.run(biases)
詳細については、 examples
ディレクトリを確認してください。