创建一个变量
import tensorflow as tf
my_var = tf.Variable(tf.ones([2,3]))
print(my_var)
try:
with tf.device("/device:GPU:0"):
v = tf.Variable(tf.zeros([10, 10]))
print(v)
except:
print('no gpu')
<tf.Variable 'Variable:0' shape=(2, 3) dtype=float32, numpy=
array([[1., 1., 1.],
[1., 1., 1.]], dtype=float32)>
no gpu
使用变量
a = tf.Variable(1.0)
b = (a+2) *3
print(b)
tf.Tensor(9.0, shape=(), dtype=float32)
a = tf.Variable(1.0)
b = (a.assign_add(2)) *3
print(b)
tf.Tensor(9.0, shape=(), dtype=float32)
变量跟踪
class MyModuleOne(tf.Module):
def __init__(self):
self.v0 = tf.Variable(1.0)
self.vs = [tf.Variable(x) for x in range(10)]
class MyOtherModule(tf.Module):
def __init__(self):
self.m = MyModuleOne()
self.v = tf.Variable(10.0)
m = MyOtherModule()
print(m.variables)
len(m.variables)
(<tf.Variable 'Variable:0' shape=() dtype=float32, numpy=10.0>, <tf.Variable 'Variable:0' shape=() dtype=float32, numpy=1.0>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=0>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=1>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=2>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=3>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=4>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=5>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=6>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=7>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=8>, <tf.Variable 'Variable:0' shape=() dtype=int32, numpy=9>)