zoukankan      html  css  js  c++  java
  • 吴裕雄--天生自然TensorFlow2教程:Tensor数据类型

    list: [1,1.2,'hello'] ,存储图片占用内存非常大
    np.array,存成一个静态数组,但是numpy在深度学习之前就出现了,所以不适合深度学习
    tf.Tensor,为了弥补numpy的缺点,更多的是为了深度学习而生
    tensor数据存储类型
    scalar:标量,1.1
    vector:向量,[1.1],[1.1,2.2,...]
    matrix: 矩阵,[[1.1,2.2],[3.3,4.4]]
    tensor:rank>2
    数据类型:
    Int, float, double
    bool
    string
    定义tensor
    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)
  • 相关阅读:
    Tomcat工作原理
    刚刚大学毕业,自己搭网站遇到的问题 一:tomcat中同时部署两个项目的问题
    maven常用命令
    修改redis端口号
    assert的基本用法
    Linux下mysql新建账号及权限设置
    tomcat设置http自动跳转为https访问
    spring mvc 实现文件上传下载
    svn: E155004 is already locked 解决方案
    数据库连接池druid
  • 原文地址:https://www.cnblogs.com/tszr/p/12104220.html
Copyright © 2011-2022 走看看