欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何獲取tensor()數(shù)據(jù)類型中的值

 更新時(shí)間:2022年07月16日 08:54:58   作者:weixin_45963617  
這篇文章主要介紹了python如何獲取tensor()數(shù)據(jù)類型中的值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

獲取tensor()數(shù)據(jù)類型的值

一、問(wèn)題

只想要216.8973那個(gè)數(shù)。

二、解決方法

1、單個(gè)tensor

tensor.item()

就可以得到216.8973。

2、多個(gè)tensor

tensor.tolist()

 

完美解決~

tensorflow筆記:tensor數(shù)據(jù)類型

常見(jiàn)的數(shù)據(jù)類型載體

  • list
  • np.array
  • tf.tensor
  • list: 可以存儲(chǔ)不同數(shù)據(jù)類型,缺點(diǎn)不適合存儲(chǔ)較大的數(shù)據(jù),如圖片
  • np.array: 解決同類型大數(shù)據(jù)數(shù)據(jù)的載體,方便數(shù)據(jù)運(yùn)算,缺點(diǎn)是在深度學(xué)習(xí)之前就設(shè)計(jì)好的,不支持GPU
  • tf.tensor:更適合深度學(xué)習(xí),支持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的數(shù)據(jù))

但是,在tensorflow里面我們把數(shù)據(jù)的數(shù)據(jù)都叫tensor

Tensor支持的類型

  • int, float, double
  • bool
  • string

創(chuàng)建不同類型的Tensor

import tensorflow as tf
# 創(chuàng)建一個(gè)整型的數(shù)據(jù)
tf.constant(1)
# Out[3]: <tf.Tensor: shape=(), dtype=int32, numpy=1>
# 注意因?yàn)檫@里的constant就是一個(gè)普通的tensor,不要理解為常量了(TF1.0是代表一個(gè)常量)

# 創(chuàng)建一個(gè)浮點(diǎn)類型的數(shù)據(jù)
tf.constant(1.)
# Out[4]: <tf.Tensor: shape=(), dtype=float32, numpy=1.0>

# 若給定一個(gè)浮點(diǎn)型的數(shù)據(jù),但是指定為int類型會(huì)報(bào)錯(cuò)
tf.constant(2.2,dtype=tf.int32)
# TypeError: Cannot convert 2.2 to EagerTensor of dtype int32

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

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

# 創(chuàng)建字符串型數(shù)據(jù)(很少用)
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)
# 數(shù)據(jù)在CPU和GPU上的轉(zhuǎn)換
aa = a.gpu()
print(aa.device)
bb = b.cpu()
print(bb.device)

輸出結(jié)果:

/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

轉(zhuǎn)換為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的維度(秩):返回的是一個(gè)tensor類型的數(shù)據(jù)
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中的概念,現(xiàn)在基本已經(jīng)淘汰了

python中判斷一個(gè)數(shù)據(jù)是不是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

數(shù)據(jù)類型的轉(zhuǎn)換

a = np.arange(5)
a.dtype
Out[36]: dtype('int32')
aa = tf.convert_to_tensor(a) ?# numpy數(shù)據(jù)轉(zhuǎn)化方法為.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()數(shù)據(jù)轉(zhuǎn)化
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 的轉(zhuǎn)化
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中哪些可以優(yōu)化的參數(shù),比如自動(dòng)求導(dǎo)。

tf.Variable可以理解為是專門為神經(jīng)網(wǎng)絡(luò)所設(shè)立的一個(gè)類型。

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類型轉(zhuǎn)化為python中的數(shù)據(jù)類型

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python字節(jié)碼與程序執(zhí)行過(guò)程詳解

    Python字節(jié)碼與程序執(zhí)行過(guò)程詳解

    這篇文章主要為大家介紹了Python字節(jié)碼與程序執(zhí)行過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python中的print()函數(shù)end=' '的使用及說(shuō)明

    python中的print()函數(shù)end=' '的使用及說(shuō)明

    這篇文章主要介紹了python中的print()函數(shù)end=' '的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • django主動(dòng)拋出403異常的方法詳解

    django主動(dòng)拋出403異常的方法詳解

    這篇文章主要給大家介紹了關(guān)于django主動(dòng)拋出403異常的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • python爬蟲 貓眼電影和電影天堂數(shù)據(jù)csv和mysql存儲(chǔ)過(guò)程解析

    python爬蟲 貓眼電影和電影天堂數(shù)據(jù)csv和mysql存儲(chǔ)過(guò)程解析

    這篇文章主要介紹了python爬蟲 貓眼電影和電影天堂數(shù)據(jù)csv和mysql存儲(chǔ)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 分享8個(gè)非常流行的 Python 可視化工具包

    分享8個(gè)非常流行的 Python 可視化工具包

    喜歡用 Python 做項(xiàng)目的小伙伴不免會(huì)遇到這種情況:做圖表時(shí),用哪種好看又實(shí)用的可視化工具包呢?今天小編給大家分享8個(gè)非常流行的 Python 可視化工具包,需要的朋友可以參考下
    2019-06-06
  • Django URL傳遞參數(shù)的方法總結(jié)

    Django URL傳遞參數(shù)的方法總結(jié)

    這篇文章主要介紹了Django URL傳遞參數(shù)的方法總結(jié),需要的朋友可以參考下
    2016-08-08
  • Python利用PyPDF2庫(kù)處理PDF文件的基本操作

    Python利用PyPDF2庫(kù)處理PDF文件的基本操作

    PyPDF2是一個(gè)Python庫(kù),用于處理PDF文件,包括合并、分割、旋轉(zhuǎn)和提取文本等操作,它是一個(gè)功能強(qiáng)大且靈活的工具,可用于自動(dòng)化處理PDF文件,適用于各種應(yīng)用,從文檔管理到數(shù)據(jù)分析,本文將深入介紹PyPDF2庫(kù),掌握如何利用它來(lái)處理PDF文件,需要的朋友可以參考下
    2023-11-11
  • Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用詳解

    Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用詳解

    這篇文章主要介紹了Python中g(shù)etattr函數(shù)和hasattr函數(shù)作用的相關(guān)知識(shí),非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Python排序算法實(shí)例代碼

    Python排序算法實(shí)例代碼

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)排序算法的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Python實(shí)現(xiàn)CNN的多通道輸入實(shí)例

    Python實(shí)現(xiàn)CNN的多通道輸入實(shí)例

    今天小編就為大家分享一篇Python實(shí)現(xiàn)CNN的多通道輸入實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01

最新評(píng)論