TensorFlow入門-関数メモ

※横にスクロールします。

TensorFlow入門-関数メモ

まずははじめに〜



import tensrflow as tf
sess = tf.Session()


関数はABC順で記録しています!

テンソルの次元間の要素の最大値のインデックスを返す、tf.argmax

単純に要素の最大値を参照したい場合は、tf.reduce_maxを使います。



>>> x = tf.constant([[1.,8.],[2.,1.],[3.,7.]])
>>> sess.run(tf.argmax(x[1]))
0

値を指定したtypeへ変換する、tf.cast()



>>>x = tf.constant([16.1,10.4,0.9],dtype=tf.float32)
>>>sess.run(tf.cast(x,tf.int32))#整数へ変換
array([16, 10,  0], dtype=int32)
>>> sess.run(tf.cast(x,tf.bool))#真偽値へ変換
array([ True,  True,  True])

>>> x =  tf.constant([ False,  True,  True])#真偽値から変換
>>> sess.run(tf.cast(x,tf.float32))#浮動小数点へ
array([0., 1., 1.], dtype=float32)


条件分岐したい、tf.cond()




ふたつの要素が同じかどうかbool値で返す、tf.equal()



>>>a = 1
>>>b = 1
>>>c = 2

>>>sess.run(tf.equal(a,b))
True
>>>sess.run(tf.equal(a,c))
False


テンソルの形状に1の次元を挿入する、tf.expand_dims

第一引数に変数や定数を、第二引数には次元を挿入する箇所(インデックス)を指定



>>> a = tf.constant(0.,shape=[2,3])
>>> a

>>> tf.expand_dims(a,0)

>>> a


>>> b = tf.expand_dims(a,2)
>>> b


>>> sess.run(b)
array([[[0.],
        [0.],
        [0.]],

       [[0.],
        [0.],
        [0.]]], dtype=float32)

>>> sess.run(a)
array([[0., 0., 0.],

       [0., 0., 0.]], dtype=float32)


なんだかよく分かりませんね…
ちなみに、tf.squeeze()が反対のような働きをしてくれます。

逆行列の計算、tf.matrix_inverse





テンソルの次元間の要素の最大値を返す、tf.reduce_max

こちらは、最大値を返します。インデックスを参照したい場合はtf.argmaxを使います。



>>> x = tf.constant([[1.,8.],[2.,3.],[3.,7.]])
>>> sess.run(tf.reduce_max(x))
8.0
>>> sess.run(tf.reduce_max(x[1]))
3.0

合計値の平均をとる、tf.reduce_mean



>>>x = tf.constant([[1.,8.],[2.,3.],[3.,7.]])
>>>sess.run(tf.reduce_mean(x))
4.0


テンソルの形(shape)から1を削除,tf.squeeze()



>>> a = tf.constant(3.,shape=[1,2,2,1])
>>> a

>>> sess.run(a)
array([[[[3.],
         [3.]],

        [[3.],
         [3.]]]], dtype=float32)
>>> b = tf.squeeze(a)
>>> b

>>> sess.run(b)
array([[3., 3.],
       [3., 3.]], dtype=float32)


すべての要素がゼロに設定されたテンソルを作成する、tf.zeros()



>>>zero_tsr = tf.zeros([3,3])
>>>zero_tsr


>>>sess.run(zero_tsr)
array([[0., 0., 0.],
       [0., 0., 0.],
       [0., 0., 0.]], dtype=float32)

TensorFlowについてとても分かりやすかったブログ

グラフの出力、表示

【TensorBoard入門】TensorFlow処理を見える化して理解を深める - Qiita
#TensorBoardでTensorFlowの理解を早める文系卒でDeep LearningどころかPythonも初めてだと、TensorFlowを理解するのが遅くてなかなか苦しいです。少しでも…

変数、Variableについて

TensorFlowの計算グラフ内の変数tf.Variableの使い方
TensorFlowの変数tf.Variableは、一般的なプログラミング言語の変数の使い方とは全く異なるものです。本記事では、作成方法やスコープの効果的な使用方法、保存方法まで解説します。

畳み込み(CNN)について、conv

【入門者向け解説】畳み込み処理入門(TensorFlowで説明) - Qiita
#入門者向けに「畳み込み」処理について解説TensorFlowエキスパート向けチュートリアルDeep MNIST for Expertsを実行して、まずわかりにくいのが「畳み込み」処理でした。文系…

コメント