二 Variable的使用

2021-09-25 12:36:56 字數 1289 閱讀 3128

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...