import tensorflow as tf
x=tf.variable([1,2])
a=tf.constant([3,3])
#增加乙個減法op
sub=tf.subtract(x,a)
#增加乙個加法op
add=tf.add(x,sub)
init=tf.global_variables_initializer()
with tf.session() as sess:
sess.run(init)
print(sess.run(sub))
print(sess.run(add))
注意:1tensorflow中要使用變數variable的話,必須先對它進行初始化操作,否則會報錯
2 tf.global_variables_initializer() 是對全域性的variable進行初始化
第二個程式(輸出自增1):
#建立乙個變數初始化為0
state=tf.variable(0,name='counter')
#建立乙個
op,作用是使
state加1
new_value=tf.add(state,1)#賦值
op update=tf.assign(state,new_value)
#變數初始化
init=tf.global_variables_initializer()
with tf.session() as sess:
sess.run(init)
print(sess.run(state))
#print(state)
for _ in range(5):
sess.run(update)
print(sess.run(state))
注意:
1上面注釋的print(state),如果執行,會這樣輸出:而如果執行print(sess.run(state)),會輸出: 0
可以看到區別了
2如果執行print(update),會這樣輸出:
tensor("assign_3:0", shape=(), dtype=int32_ref)可以這樣理解tensorflow的語句:
語句中等號 = 左邊是一定是輸出的資料(tensor或者variable),而且一定與等號右邊的tf函式內的引數有某種數值關係。另外,想操控任何資料必須通過建立操作節點op。實際上tensorflow有兩個階段,乙個是計算圖的構建階段(構建資料和操作節點),乙個是整個計算圖的執行階段。
PyTorch基本用法 二 Variable
本文主要是pytorch中variable變數的一些用法。import torch from torch.autograd import variable tensor torch.floattensor 1,2 3,4 定義variable,requires grad用來指定是否需要計算梯度 va...
如何使用numpy陣列對Variable賦值?
我查到資料說,可以使用 paddle.parameters.parameters.set 進行賦值。但是我使用fluid.get var獲取到的物件不是paddle.parameters.parameters型別的,沒有set方法 fluid中,為variable賦值的方法如下,主要邏輯就是flui...
Variable和tensor的計算
變數在torch中是建立乙個計算圖,但是相比較tensorflow和theano中的靜態圖,它是動態的,torch沒有placeholder,torch只能給計算圖傳遞變數 import numpy as np import torch from torch.autograd import vari...