ホーム » TensorFlow » TensorFlow : Get Started : 序説

TensorFlow : Get Started : 序説

TensorFlow : Get Started : 序説 (翻訳/解説)
翻訳 : (株)クラスキャット セールスインフォメーション
日時 : 01/16/2016

* 本ページは、TensorFlow の本家サイトの Get Started – Introduction を翻訳した上で適宜、補足説明したものです:
    https://www.tensorflow.org/versions/master/get_started/index.html
* サンプルコードの動作確認はしておりますが、適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 
序説

Tensorflow を始めてみましょう!

しかし始める前に TensorFlow のコードが Python API でどのように見えるのか簡単に見てみましょう。どこへ向かっているか感覚が掴めるでしょう。

ここに簡単な Python プログラムがあります。これは二次元のデータを生成し、そして直線をそれらに最適化するものです。

import tensorflow as tf
import numpy as np

# y = x * 0.1 + 0.3 となる、ダミーのデータポイント x, y を NumPy で作成します。
x_data = np.random.rand(100).astype("float32")
y_data = x_data * 0.1 + 0.3

# y_data = W * x_data + b となる W と b の適正値を見つけます。
# (私たちは W が 0.1、b が 0.3 であるべきと知っていますが、
# Tensorflow はそれを私たちのために見つけてくれます。)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b

# random_uniform は一様分布から乱数生成。第一引数は shape
# zeros は全ての要素を 0 に設定したテンソルを作成。第一引数は shape

# 平均二乗誤差を最小化します。
# アルゴリズムは勾配降下法。第一引数は学習率。
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

# 開始前に変数を初期化します。これを最初に'実行'します。
init = tf.initialize_all_variables()

# グラフを launch します。
sess = tf.Session()
sess.run(init)

# 直線を最適化します。
for step in xrange(201):
    sess.run(train)
    if step % 20 == 0:
        print(step, sess.run(W), sess.run(b))

# ベストフィットが W: [0.1], b: [0.3] と学習します。

このコードの最初の部分はデータフローグラフを組み立てています。TesorFlow はセッションが生成され関数が呼ばれるまでは、実際には計算を実行しません。

更に貴方の興味をそそるために、古典的な機械学習の問題が TensorFlow でどのようになるのか確認してみることを提案します。ニューラルネットワークの世界でもっとも「古典的な」古典的問題は MNIST 手書き数字の分類問題です。ここでは2つの紹介を提供します。一つは機械学習の入門者向けで、もう一つは専門家向けです。貴方が既に他のソフトウェアパッケージで幾ダースもの MNIST モデルを学習させたことがあるのであれば、以下を参照してください:

専門家のための深層 MNIST
    https://tensorflow.classcat.com/2016/02/16/tensorflow-tutorials-deep-mnist-for-experts/

もし貴方が MNIST について聞いたことがないのであれば、以下を参照するのが良いです:

TensorFlow : TUTORIALS : ML 初心者向けの MNIST(翻訳/解説)
    https://tensorflow.classcat.com/2016/02/03/tensorflow-tutorials-mnist-for-ml-beginners/

両者の間のどこかに位置するならば、後者を簡単に眺めてから前者を参照すれば良いでしょう。

TensorFlow を学びインストールしたいという確信があれば、これらをスキップして先に突進することができます。心配には及びません、依然として MNIST に辿り着きます。 — TensorFlow の特徴を詳細説明する技術チュートリアルで MNIST を例題として扱いますので。

 

推奨する次のステップ

* 基本的な使い方
    https://tensorflow.classcat.com/2016/02/03/tensorflow-get-started-basic-usage/

* TensorFlow 技法 101
    https://tensorflow.classcat.com/2016/02/03/tensorflow-tutorials-mechanics-101/

 

以上

AI導入支援 #2 ウェビナー

スモールスタートを可能としたAI導入支援   Vol.2
[無料 WEB セミナー] [詳細]
「画像認識 AI PoC スターターパック」の紹介
既に AI 技術を実ビジネスで活用し、成果を上げている日本企業も多く存在しており、競争優位なビジネスを展開しております。
しかしながら AI を導入したくとも PoC (概念実証) だけでも高額な費用がかかり取組めていない企業も少なくないようです。A I導入時には欠かせない PoC を手軽にしかも短期間で認知度を確認可能とするサービの紹介と共に、AI 技術の特性と具体的な導入プロセスに加え運用時のポイントについても解説いたします。
日時:2021年10月13日(水)
会場:WEBセミナー
共催:クラスキャット、日本FLOW(株)
後援:働き方改革推進コンソーシアム
参加費: 無料 (事前登録制)
人工知能開発支援
◆ クラスキャットは 人工知能研究開発支援 サービスを提供しています :
  • テクニカルコンサルティングサービス
  • 実証実験 (プロトタイプ構築)
  • アプリケーションへの実装
  • 人工知能研修サービス
◆ お問合せ先 ◆
(株)クラスキャット
セールス・インフォメーション
E-Mail:sales-info@classcat.com