From b339cb350972b6cfc541ed6b3f235d431498aae5 Mon Sep 17 00:00:00 2001 From: supermy Date: 2019年6月15日 11:54:01 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tensorflowTUT/tensorflow7_variable.py | 17 ++++++++++++----- tensorflowTUT/tf5_example2/full_code.py | 23 ++++++++++++++++------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/tensorflowTUT/tensorflow7_variable.py b/tensorflowTUT/tensorflow7_variable.py index d89e1f9..c62bbfe 100644 --- a/tensorflowTUT/tensorflow7_variable.py +++ b/tensorflowTUT/tensorflow7_variable.py @@ -5,16 +5,20 @@ """ Please note, this code is only for python 3+. If you are using python 2+, please modify the code accordingly. + +Guava Graph 参见核心部件 + """ from __future__ import print_function import tensorflow as tf -state = tf.Variable(0, name='counter') +state = tf.Variable(0, name='counter') # 创建一个状态节点,类似于全局变量; + #print(state.name) one = tf.constant(1) -new_value = tf.add(state, one) -update = tf.assign(state, new_value) +new_value = tf.add(state, one) #定义操作 +update = tf.assign(state, new_value) #定义函数 把 add_operation 的结果赋值给 var # tf.initialize_all_variables() no long valid from # 2017年03月02日 if using tensorflow>= 0.12 @@ -23,9 +27,12 @@ else: init = tf.global_variables_initializer() +#图的并行运算包括计算的并行与数据的并行; + +#在会话里面执行,可以并行运算,互不干扰; with tf.Session() as sess: sess.run(init) - for _ in range(3): - sess.run(update) + for _ in range(3): #类似于递归;var 相当于是状态节点,在计算中进行传递; + sess.run(update) #运行函数,var 的值每次都更新;0+1;1+1;2+1 print(sess.run(state)) diff --git a/tensorflowTUT/tf5_example2/full_code.py b/tensorflowTUT/tf5_example2/full_code.py index 6b1a9ee..426f32c 100644 --- a/tensorflowTUT/tf5_example2/full_code.py +++ b/tensorflowTUT/tf5_example2/full_code.py @@ -10,19 +10,24 @@ import tensorflow as tf import numpy as np -# create data +# create data 创建向量(一维数组;二维数组是矩阵;三位以上是张量) x_data = np.random.rand(100).astype(np.float32) -y_data = x_data*0.1 + 0.3 +y_data = x_data*0.1 + 0.3 #向量运算结果也是向量,向量的枚举加法与乘法运算 + ### create tensorflow structure start ### -Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) -biases = tf.Variable(tf.zeros([1])) +Weights = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) #权重;random_uniform,均匀分布随机数:形状,最小值,最大值; +biases = tf.Variable(tf.zeros([1])) #斜度;zeros,创建一个所有元素都设置为零的张量. y = Weights*x_data + biases -loss = tf.reduce_mean(tf.square(y-y_data)) -optimizer = tf.train.GradientDescentOptimizer(0.5) -train = optimizer.minimize(loss) +# tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。 +loss = tf.reduce_mean(tf.square(y-y_data)) #损失函数:最小二乘法;tf.square 平方; + +optimizer = tf.train.GradientDescentOptimizer(0.5)#构造一个新的梯度下降优化器实例;0.5,优化器将采用的学习速率; +train = optimizer.minimize(loss) #在这里rate为0.01,因为这个示例也是多维函数,所以也要用到偏导数来进行逐步向最优解靠近。 + + ### create tensorflow structure end ### sess = tf.Session() @@ -32,8 +37,12 @@ init = tf.initialize_all_variables() else: init = tf.global_variables_initializer() + + +#session 是会话,是运行的并行避免干扰(图计算还有数据的并行); sess.run(init) + for step in range(201): sess.run(train) if step % 20 == 0: From dcf343f89be2edf7a5b728916860a110304cc3ff Mon Sep 17 00:00:00 2001 From: supermy Date: 2019年6月15日 14:20:35 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=9F=A9=E9=98=B5=E8=BF=90=E7=AE=97=20?= =?UTF-8?q?=E4=BC=9A=E8=AF=9D=E4=BD=BF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tensorflowTUT/tensorflow6_session.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tensorflowTUT/tensorflow6_session.py b/tensorflowTUT/tensorflow6_session.py index cbd7582..678e698 100644 --- a/tensorflowTUT/tensorflow6_session.py +++ b/tensorflowTUT/tensorflow6_session.py @@ -13,11 +13,13 @@ matrix2 = tf.constant([[2], [2]]) product = tf.matmul(matrix1, matrix2) # matrix multiply np.dot(m1, m2) + #3*2+3*2 # method 1 sess = tf.Session() result = sess.run(product) print(result) +print(result.shape) sess.close() # method 2 @@ -25,7 +27,23 @@ result2 = sess.run(product) print(result2) +print("=======================================================") - +a = tf.constant([[1,2], + [3,4]]) +b = tf.constant([[0,0], + [1,0]]) +c =a *b #逐个相同位置元素相乘 +d = tf.matmul(a,b) #矩阵相乘,矩阵转置; + #1*0+2*1,1*0+2*0 = 2,0 + #3*0+4*1,3*0+4*0 = 4,0 +with tf.Session() as sess: + print(sess.run(a)) + print("") + print(sess.run(b)) + print("") + print(sess.run(c)) + print("") + print(sess.run(d))

AltStyle によって変換されたページ (->オリジナル) /