Tensorflow(一) —— 主要的数据类型

  • 1 主要的数据类型
  • 2 Tensor的种类
  • 3 基本数据类型
  • 4 创建数据类型实例
    • 4.1 创建 int类型
    • 4.2 创建float类型
    • 4.3 类型使用不当
    • 4.4 创建布尔类型
    • 4.5 创建字符串类型
  • 5 Tensor常见属性
    • 5.1 device属性
    • 5.2 CPU和GPU转移
    • 5.3 Tensor转化为numpy:
    • 5.4 形状和维度
    • 5.5 判断一个对象是否为Tensor
    • 5.6 查看数据类型
    • 5.7 数据类型判断
  • 6 数据类型之间的相互转换
    • 6.1 numpy转tensorflow
    • 6.2 tensor类型间互转
    • 6.3 整型和布尔类型之间相互转换
    • 6.4 特殊的数据类型 tf.Variable
    • 6.6 转换为numpy数据类型

1 主要的数据类型

  • list
  • np.array 同类型数据运算,没有GPU支持
  • tf.Tensor

2 Tensor的种类

  • (1) Scalar: 1.1 标量
  • (2) Vector: [1.1] [1.1,2.2,…]
  • (3) matrix: [[1.1,2.2,],[3.3,4.4]]
  • (4) Tensor: ndim > 2
  • (5) 一般tensor指以上所有数据

3 基本数据类型

  • (1) int float double
  • (2) bool
  • (3) string

4 创建数据类型实例

4.1 创建 int类型

a = tf.constant(1)
print("a:",a)

4.2 创建float类型

b = tf.constant(2.)
print("b:",b)

4.3 类型使用不当

try:c = tf.constant(2.5,dtype = tf.int32)
except Exception as error:print(error)

4.4 创建布尔类型

d = tf.constant([True,False])
print("d:",d)

4.5 创建字符串类型

e = tf.constant("Welcome to TensorFlow!")
print("e:",e)

5 Tensor常见属性

5.1 device属性

with tf.device("cpu"):a = tf.constant(5)
with tf.device("gpu"):b = tf.constant(6)
print("a",a.device)
print("b",b.device)

5.2 CPU和GPU转移

aa = a.gpu()
print("aa:",aa.device)
bb = b.cpu()
print("bb:",bb.device)
"""
GPU上的tensor只能在GPU上操作
CPU上的Tenor只能在CPU上操作
"""
try:print(bb+aa)
except Exception as error:print(error)

5.3 Tensor转化为numpy:

print(aa.numpy(),type(aa.numpy()))

5.4 形状和维度

print(aa.shape)
"""
标量的形状为0
"""
t1 = tf.ones([5,6])
print("t1:",t1.shape)
print("t1:",t1.ndim)
print("t1:",tf.rank(t1)) # 同时返回shape和ndim

5.5 判断一个对象是否为Tensor

print("t1:",tf.is_tensor(t1))
print("t1:",isinstance(t1,tf.Tensor))

5.6 查看数据类型

print("t1:",t1.dtype)

5.7 数据类型判断

print("t1:",t1.dtype == tf.int32)

6 数据类型之间的相互转换

6.1 numpy转tensorflow

a = np.arange(10)
print("a:",a.dtype,a)
b = tf.convert_to_tensor(a)
print("b:",b.dtype,b)
c = tf.convert_to_tensor(a,dtype = tf.int16)
print("c:",c.dtype,c)

6.2 tensor类型间互转

t1 = tf.constant(5)
print("t1:",t1)
t11 = tf.cast(t1,tf.float32)
print("t11:",t11)

6.3 整型和布尔类型之间相互转换

t2 = tf.constant([0,1])
print("t2:",t2)
t21 = tf.cast(t2,tf.bool)
print("t21:",t21)
t22 = tf.cast(t21,tf.int32)
print("t22:",t22)

6.4 特殊的数据类型 tf.Variable

t3 = tf.range(5)
print("t3:",t3)
t31 = tf.Variable(t3)
print("t31:",t31)
print("t31:",t31.name)
print("t31:",t31.trainable)  # 判断是否为变量,即是否可以求导print('t31:',tf.is_tensor(t31))
print("t31:",isinstance(t31,tf.Tensor))
"""
所以用is_tensor方法更好更为准确
"""

6.6 转换为numpy数据类型

t4 = tf.range(1,100,5)
print("t4:",t4)
t41 = t4.numpy()
print("t41:",t41.dtype,t41)

本文为参考龙龙老师的“深度学习与TensorFlow 2入门实战“课程书写的学习笔记

by CyrusMay 2022 04 06

Tensorflow(一) —— 数据类型相关推荐

  1. tensorflow的数据类型

    数据类型包括: int,float,double,bool,String 数据主要有: list(列表),np.array(np的数组), tf.Tensor (tf的张量) 什么是张量? scala ...

  2. 人工智能实践:TensorFlow笔记学习(三)——TensorFlow框架

    搭建神经网络 大纲 3.1 张量.计算图.会话 3.2 前向传播 3.3 反向传播 目标 搭建神经网络,总结搭建八股 3.1 张量.计算图.会话 一.基本概念 基于Tensorflow的NN:用张量表 ...

  3. 【tenserflow】——数据类型以及常用属性

    目录 一.什么是Tensor? 二.Tensorflow常见数据类型 三.Tensorflow常见属性device\cpu\gpu\ndim\shape\rank等 1.创建一个tensor 1)tf ...

  4. TensorFlow 基本操作

    Tensorflow基本概念 图(Graph):图描述了计算的过程,TensorFlow使用图来表示计算任务. 张量(Tensor):TensorFlow使用tensor表示数据.每个Tensor是一 ...

  5. 人工智能实践:tensorflow笔记

    tensorflow2.1安装教程,遇到的问题及解决办法 一.神经网络计算过程及模型搭建 (一)人工智能三学派: ​ 我们常说的人工智能,就是让机器具备人的思维和意识.人工智能主要有三个学派,即行为主 ...

  6. Tensorflow框架初识

    我们常说不要重复的造轮子,要尽可能的利用已有的成熟框架,毕竟站在巨人的肩膀上看世界,将会看的更远看的更多.目前,工业界和学术界已经提供了很多开源的神经网络实现如Caffe.Tensorflow.Ker ...

  7. tensorflow与python交互系列,tf.py_function()、tf.py_func、tf.numpy_function()(一)

    前言:前面在介绍使用tensorflow进行data pipeline的时候,遇到了一些问题,特意整理了两篇文章,请参见: tfrecord文件的map在使用的时候所踩的坑总结(map.py_func ...

  8. 动手学深度学习(tensorflow)---学习笔记整理(一、预备知识篇)

    学习视频来源为b站动手学深度学习系列视频:https://space.bilibili.com/209599371/channel/detail?cid=23541 由于上述视频为MXNet/Gluo ...

  9. 【TensorFlow-windows】学习笔记一——基础理解

    前言 因为Theano已经停止更新了,所以在前面学完Theano搭建RBM,CNN,RNN相关结构以后,还是得选择一个主流框架的,由于我自身的学习最终是向强化学习靠近,可能用到的仿真环境是openai ...

  10. CANN AICPU算子耗时分析及优化探索

    摘要:本文以GreaterEqual作为测试算子,该算子计算逻辑较为简单(output = input1 >= input2),旨在尽可能降低计算耗时,使得算子耗时尽可能以数据操作和算子调度作为 ...

最新文章

  1. 年中盘点:2020年炙手可热的10家数据科学和机器学习初创公司
  2. Linux文件名命名规范
  3. Python基础——Anaconda的安装使用
  4. 福建省高职单招分数怎么计算机,2019福建高职单招切线 高职招考分数线是多少...
  5. Direct3D中设备丢失处理
  6. 快速pow和sqrt的小技巧 hdu4282
  7. Rust 编程 前言
  8. html图片自动替换图片,十种图片替换文本CSS方法
  9. tornado web mysql_Tornado WEB服务器框架 Epoll-- 【Mysql数据库】
  10. FFmpeg源代码简单分析:结构体成员管理系统-AVOption
  11. xampp mysql关机意外_xampp运行MySQL shutdown unexpectedly解决方法
  12. 邮件小技巧:让同一个收件人地址同时显示在收件人和抄送人栏中
  13. Hacking Diablo II之完整性检查(Integrity Scan)
  14. MacBook快捷键
  15. 边缘计算在物联网领域的发展前景
  16. 大一新生必看,自学必看,里昂详解数据结构之链表
  17. 【黑马程序员】《Java基础入门》——02 面向对象
  18. GSM系统信令接续流程
  19. linux创建删除用户及vim简单操作
  20. Alsa音频应用编程

热门文章

  1. 【阶段考试总结】==
  2. 深度干货 | 双十一电商大促流量承接与变现的产品设计分析
  3. 惠普笔记本电脑升级后指纹识别失效
  4. 数组排序的五常见方式
  5. Python实现视频自动打码,不用担心透露隐私了
  6. 信标网络和非信标网络
  7. 蓝牙BLE芯片PHY6222之OTA
  8. Core Conference Ranking 2020 会议 排名 列表
  9. kvm安装ubuntu虚拟机错误总结
  10. java总结(1)——java的特点