tensorflow 基础定义

作为TensorFlow的小白,还有很多东西要学的。

(1)    node

node1 = tf.constant(3.0, tf.float32)
node2 = tf.constant(
4.0) # also tf.float32 implicitly
print(node1, node2)

 To actuallyevaluate the nodes, we must run the computational graph within a session.

sess = tf.Session()
print(sess.run([node1, node2]))
[3.0,4.0]

 

node3 = tf.add(node1, node2)
print("node3: ", node3)
print("sess.run(node3): ",sess.run(node3))
node3:  Tensor("Add_2:0", shape=(), dtype=float32)
sess.run(node3):  7.0

(2) to accept externalinputs, known as placeholders.

 

a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b  # + provides a shortcut for tf.add(a, b)

tospecify Tensors that provide concrete values to these placeholders:

print(sess.run(adder_node,{a:3, b:4.5}))
print(sess.run(adder_node,{a:[1,3], b:[2,4]}))
输出:7.5
[ 3.  7.]
add_and_triple = adder_node *3.
print(sess.run(add_and_triple,{a:3, b:4.5}))

(3) Variables

W = tf.Variable([.3], tf.float32)
b = tf.Variable([-.3], tf.float32)
x = tf.placeholder(tf.float32)
linear_model = W * x + b

Toinitialize all the variables in a TensorFlow program, you must explicitly calla special operation as follows:

init = tf.global_variables_initializer()
sess.run(init)
print(sess.run(linear_model,{x:[1,2,3,4]}))
[0.          0.30000001  0.60000002  0.90000004]
 

(4)  loss function 

y = tf.placeholder(tf.float32)
squared_deltas = tf.square(linear_model - y)
loss = tf.reduce_sum(squared_deltas)
print(sess.run(loss,{x:[1,2,3,4], y:[0,-1,-2,-3]}))

(5)    improve w,b

fixW = tf.assign(W,[-1.])
fixb = tf.assign(b, [1.])
sess.run([fixW, fixb])
print(sess.run(loss,{x:[1,2,3,4], y:[0,-1,-2,-3]}))
loss结果为:
0.0

6TensorFlow provides optimizers that slowly change each variable inorder to minimize the loss function. The simplest optimizer is gradientdescent.

 

optimizer = tf.train.GradientDescentOptimizer(0.01)
train = optimizer.minimize(loss)
sess.run(init)# reset values to incorrect defaults.
for i in range(1000):
   sess.run(train, {x:[1,2,3,4], y:[0,-1,-2,-3]})

print(sess.run([W, b]))
输出结果:
[array([-0.9999969], dtype=float32), array([0.99999082],
        dtype=float32)]

总结 node,placeholder 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Tensorflow变量定义 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable(0, name="my_variable") # 定义一个常量 const = tf.constant(1) ``` 2. Tensorflow占位符定义 ``` import tensorflow as tf # 定义一个占位符 x = tf.placeholder(tf.float32, shape=[None, 3], name="x") # 定义另一个占位符 y = tf.placeholder(tf.float32, shape=[None, 1], name="y") ``` 3. Tensorflow运算符 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable(0, name="my_variable") # 定义一个常量 const = tf.constant(1) # 定义一个加法运算 add = tf.add(var, const) # 定义一个减法运算 sub = tf.subtract(var, const) ``` 4. Tensorflow会话 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable(0, name="my_variable") # 定义一个常量 const = tf.constant(1) # 定义一个加法运算 add = tf.add(var, const) # 定义一个减法运算 sub = tf.subtract(var, const) # 初始化所有变量 init = tf.global_variables_initializer() with tf.Session() as sess: # 运行初始化操作 sess.run(init) # 打印变量var的值 print(sess.run(var)) # 运行加法运算 sess.run(add) # 打印变量var的值 print(sess.run(var)) # 运行减法运算 sess.run(sub) # 打印变量var的值 print(sess.run(var)) ``` 5. Tensorflow优化器 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable(0, name="my_variable") # 定义一个常量 const = tf.constant(1) # 定义一个加法运算 add = tf.add(var, const) # 定义一个减法运算 sub = tf.subtract(var, const) # 定义一个优化器 optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.1) # 定义一个最小化操作 minimize_op = optimizer.minimize(sub) # 初始化所有变量 init = tf.global_variables_initializer() with tf.Session() as sess: # 运行初始化操作 sess.run(init) # 打印变量var的值 print(sess.run(var)) # 运行最小化操作 sess.run(minimize_op) # 打印变量var的值 print(sess.run(var)) ``` 6. Tensorflow张量操作 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable([[1, 2], [3, 4]], name="my_variable") # 定义一个常量 const = tf.constant([[5, 6], [7, 8]]) # 定义一个加法运算 add = tf.add(var, const) # 定义一个乘法运算 mul = tf.matmul(var, const) # 初始化所有变量 init = tf.global_variables_initializer() with tf.Session() as sess: # 运行初始化操作 sess.run(init) # 打印变量var的值 print(sess.run(var)) # 打印常量const的值 print(sess.run(const)) # 运行加法运算 print(sess.run(add)) # 运行乘法运算 print(sess.run(mul)) ``` 7. Tensorflow张量的形状和类型 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable([[1, 2], [3, 4]], name="my_variable") # 打印变量的形状和类型 print(var.shape) print(var.dtype) ``` 8. Tensorflow张量的索引和切片 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable([[1, 2], [3, 4]], name="my_variable") # 打印变量的第一行 print(var[0]) # 打印变量的第一列 print(var[:, 0]) # 打印变量的第一行第一列的元素 print(var[0][0]) ``` 9. Tensorflow张量的变形 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable([[1, 2], [3, 4]], name="my_variable") # 打印变量的形状 print(var.shape) # 将变量变形为一行四列的张量 var_reshaped = tf.reshape(var, [1, 4]) # 打印变形后的张量形状 print(var_reshaped.shape) ``` 10. Tensorflow张量的广播 ``` import tensorflow as tf # 定义一个变量 var = tf.Variable([[1, 2], [3, 4]], name="my_variable") # 定义一个常量 const = tf.constant(1) # 进行广播操作 result = var + const # 打印结果 print(result) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值