91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么獲取tensor()數據類型中的值

發布時間:2022-07-16 13:39:52 來源:億速云 閱讀:1802 作者:iii 欄目:開發技術

本篇內容介紹了“python怎么獲取tensor()數據類型中的值”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

獲取tensor()數據類型的值

一、問題

python怎么獲取tensor()數據類型中的值

只想要216.8973那個數。

二、解決方法

1、單個tensor

tensor.item()

就可以得到216.8973。

2、多個tensor

tensor.tolist()

python怎么獲取tensor()數據類型中的值

tensorflow筆記:tensor數據類型

常見的數據類型載體

  • list

  • np.array

  • tf.tensor

  • list: 可以存儲不同數據類型,缺點不適合存儲較大的數據,如圖片

  • np.array: 解決同類型大數據數據的載體,方便數據運算,缺點是在深度學習之前就設計好的,不支持GPU

  • tf.tensor:更適合深度學習,支持GPU

Tensor是什么

  • scalar: 1.1

  • vector:[1.1] , [1.1,2.2,……]

  • matrix:[[1,2,3,],[4,5,6],[7,8,9]]

  • torsor:rank > 2 (一般指的是維度大于2的數據)

但是,在tensorflow里面我們把數據的數據都叫tensor

Tensor支持的類型

  • int, float, double

  • bool

  • string

創建不同類型的Tensor

import tensorflow as tf
# 創建一個整型的數據
tf.constant(1)
# Out[3]: <tf.Tensor: shape=(), dtype=int32, numpy=1>
# 注意因為這里的constant就是一個普通的tensor,不要理解為常量了(TF1.0是代表一個常量)

# 創建一個浮點類型的數據
tf.constant(1.)
# Out[4]: <tf.Tensor: shape=(), dtype=float32, numpy=1.0>

# 若給定一個浮點型的數據,但是指定為int類型會報錯
tf.constant(2.2,dtype=tf.int32)
# TypeError: Cannot convert 2.2 to EagerTensor of dtype int32

# 給一數指定雙精度
tf.constant(2.,dtype=tf.double)
# Out[6]: <tf.Tensor: shape=(), dtype=float64, numpy=2.0>

# 創建bool類型的數據
tf.constant([True,False])
# Out[7]: <tf.Tensor: shape=(2,), dtype=bool, numpy=array([ True, False])>

# 創建字符串型數據(很少用)
tf.constant("hello,world")
# Out[8]: <tf.Tensor: shape=(), dtype=string, numpy=b'hello,world'>

Tensor Property

下面開始介紹Tensor常用的屬性

tf.device

import tensorflow as tf
with tf.device("cpu"):
    a = tf.constant([1])
with tf.device("gpu"):
    b = tf.range(6)

print(a.device)
print(b.device)
# 數據在CPU和GPU上的轉換
aa = a.gpu()
print(aa.device)
bb = b.cpu()
print(bb.device)

輸出結果:

/job:localhost/replica:0/task:0/device:CPU:0
/job:localhost/replica:0/task:0/device:GPU:0
/job:localhost/replica:0/task:0/device:GPU:0
/job:localhost/replica:0/task:0/device:CPU:0

轉換為numpy

c = tf.range(10)
#Out[14]: <tf.Tensor: shape=(10,), dtype=int32, numpy=array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])>
c.numpy()
#Out[15]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

Tensor的維度與形狀

d = tf.range(10)

d.shape
# Out[17]: TensorShape([10])

d.ndim
# Out[18]: 1

# 用rank查看tensor的維度(秩):返回的是一個tensor類型的數據
tf.rank(d)
# Out[19]: <tf.Tensor: shape=(), dtype=int32, numpy=1>
tf.rank(tf.ones([3,4,2]))
# Out[20]: <tf.Tensor: shape=(), dtype=int32, numpy=3>

# tf.name
# 是Tensorflow1.0中的概念,現在基本已經淘汰了

python中判斷一個數據是不是Tensor

import numpy as np
import tensorflow as tf

a = tf.constant(1.)
b = tf.constant([True,False])
c = tf.constant("hello,world")
d = np.arange(4)

isinstance(a,tf.Tensor)
# Out[27]: True
tf.is_tensor(b)
# Out[28]: True
tf.is_tensor(d)
# Out[29]: False

a.dtype,b.dtype,c.dtype,d.dtype
# Out[32]: (tf.float32, tf.bool, tf.string, dtype('int32'))

a.dtype == tf.float32
Out[33]: True
c.dtype == tf.string
Out[34]: True

數據類型的轉換

a = np.arange(5)
a.dtype
Out[36]: dtype('int32')
aa = tf.convert_to_tensor(a)  # numpy數據轉化方法為.astype(np.int64)
# Out[38]: <tf.Tensor: shape=(5,), dtype=int32, numpy=array([0, 1, 2, 3, 4])>
aa = tf.convert_to_tensor(a, dtype=tf.float32)
# Out[40]: <tf.Tensor: shape=(5,), dtype=float32, numpy=array([0., 1., 2., 3., 4.], dtype=float32)>

# 用頭tf.cast()數據轉化
tf.cast(aa,dtype = tf.float32)
# Out[41]: <tf.Tensor: shape=(5,), dtype=float32, numpy=array([0., 1., 2., 3., 4.], dtype=float32)>
aaa = tf.cast(aa,dtype=tf.double)
# Out[43]: <tf.Tensor: shape=(5,), dtype=float64, numpy=array([0., 1., 2., 3., 4.])>
tf.cast(aaa,dtype=tf.int32)
# Out[44]: <tf.Tensor: shape=(5,), dtype=int32, numpy=array([0, 1, 2, 3, 4])>


# bool 與 int 的轉化
b = tf.constant([0,1])
tf.cast(b,tf.bool)
# Out[46]: <tf.Tensor: shape=(2,), dtype=bool, numpy=array([False,  True])>
bb = tf.cast(b,dtype=tf.bool)
tf.cast(bb,tf.int32)
# Out[48]: <tf.Tensor: shape=(2,), dtype=int32, numpy=array([0, 1])>

tf.Variable

tf.Variable在tensorflow中相比tf.constan一樣也是Tensor,tf.Variable特指Tensorflow中哪些可以優化的參數,比如自動求導。

tf.Variable可以理解為是專門為神經網絡所設立的一個類型。

a = tf.range(5)
b = tf.Variable(a)
# Out[51]: <tf.Variable 'Variable:0' shape=(5,) dtype=int32, numpy=array([0, 1, 2, 3, 4])>
b.dtype
# Out[52]: tf.int32
b.name
# Out[53]: 'Variable:0'
b = tf.Variable(a, name = "input_data")
b.name
# Out[55]: 'input_data:0'
b.trainable
# Out[56]: True

isinstance(b,tf.Tensor)
# Out[57]: False
isinstance(b,tf.Variable)
# Out[58]: True
tf.is_tensor(b)
# Out[59]: True

b.numpy()
# Out[60]: array([0, 1, 2, 3, 4])

將Tensor類型轉化為python中的數據類型

a = tf.ones([])
# Out[63]: <tf.Tensor: shape=(), dtype=float32, numpy=1.0>
a.numpy()
# Out[64]: 1.0
int(a)
# Out[65]: 1
float(a)
# Out[66]: 1.0

“python怎么獲取tensor()數據類型中的值”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云安县| 左贡县| 泊头市| 理塘县| 云林县| 宁武县| 仲巴县| 黑水县| 石狮市| 高雄县| 淮阳县| 北川| 桐柏县| 哈巴河县| 荆州市| 海淀区| 临海市| 陇西县| 本溪市| 景德镇市| 丰都县| 囊谦县| 固原市| 韩城市| 高阳县| 邢台县| 庆阳市| 龙山县| 天长市| 隆德县| 阳信县| 赣榆县| 新源县| 分宜县| 灯塔市| 贵定县| 兴化市| 札达县| 莲花县| 慈利县| 西藏|