[TOC]python
tf.constant(1) # 定義常量,普通的tensor tf.constant(1.) # 定義常量,普通的tensor tf.constant([True, False]) # 定義常量,普通的tensor tf.constant('hello nick')
with tf.device('cpu'): a = tf.constant([1]) with tf.device('gpu'): b = tf.constant([1]) a.device # 設備屬性 a.gpu() # cpu轉gpu a.numpy() # 獲取numpy數據類型 a.shape # 獲取a的屬性 a.ndim # 獲取維度 tf.rank(a) # 獲取維度 a.name # 1.+歷史遺留問題
instance(a,tf.Tensor) # 判斷是否爲tensor tf.is_tensor(a) # 判斷是否爲tensor a.dtype,b.dtype,c.dtype # 判斷數據類型
a = np.arange(5) aa = tf.convert_to_tensor(a,dtype=tf.int32) # numpy轉tensor tf.cast(aa,dtype=tf.float32) # tensor之間數據類型轉換 # int --》 bool b = tf.constant([0,1]) tf.cast(b,dtype=tf.bool) # int --》bool # tf.Variable a = tf.range(5) b = tf.Variable(a) # tensor轉爲Variable後具備求導的特性,即自動記錄a的梯度相關信息 b.name # Variable:0 b = tf.Variable(a, name='input_data') b.name # input_data:0 b.trainable # True isinstance(b,tf.Tensor) # False isinstance(b,tf.Variable) # True tf.is_tensor(b) # True # 推薦使用
## tensor轉numpy數組
a= tf.range(5) a.numpy() # a必須是scalar a = tf.ones([]) a.numpy() int(a) float(a)