• tensorflow的数据类型


    数据类型包括:

    int,float,double,bool,String

    数据主要有:

    list(列表),np.array(np的数组), tf.Tensor (tf的张量)

    什么是张量?

    scalar(标量),venctor(向量),matrix(矩阵),tensor(rank>2)

    这些都可以是tensor,但是一般指向量或者矩阵维度大于2的豆角tensor

     

     

     

     

     

     

     

     

    import  tensorflow as tf
    import numpy as np
    #创建一个整型
    tf.constant(1)
    
    #创建一个浮点型
    tf.constant(1.)
    
    #双精度
    tf.constant(1.,dtype=tf.double)
    
    #bool型
    tf.constant([True,False])
    
    #字符串型
    tf.constant("hello,world")
    
    with tf.device("cpu"):
        a=tf.constant([1])
    
    with tf.device("gpu"):
        b=tf.range(4)
    
    a.device #返回当前tensor所在系统的名称(cpu或者gpu)
    b.device
    
    #当一个tensor从cpu转向gpu,或者gpu转向cpu
    aa = a.gpu()
    aa.device
    
    #tensor转换到numpy
    bb = b.numpy()
    #bb的维度
    bb.ndim
    bb.shape
    
    #判断某一个是否是tensor
    tf.is_tensor(b)
    #numpy默认是64位,转换为tensor的时候需要指定成32位才会转换
    
    a=np.arange(4)
    
    aa=tf.convert_to_tensor(a,dtype=tf.int32)
    
    #专门数据转换其他数据类型,数据转换基本都是cast
    aa=tf.cast(aa,dtype=tf.float32)
    
    #整型转换布尔型
    b = tf.constant([0,1])
    tf.cast(b,dtype=tf.bool)
    
    a=tf.range(5)
    
    c=tf.Variable(a)
    c.dtype
    #类似激活函数,一个tensor被Variable包装以后,会自动获取可以求导的特性,神经网的w
    d=tf.Variable(a,name="input_data")
    d.name
    d.trainable #可以被训练,求导,True
    
    #tensor是gpu上面的,如果要吧数据返回到cpu,需要转换成numpy
    a.numpy()
    
    
    

     

    小结:

     tf.convert_to_tensor把list和numpy转换为tensor

    cast是专用tensor转换api

    tf.Variable(a,name="input_data")把数据设置成可以自动求导

  • 相关阅读:
    怎么简单实现菜单拖拽排序的功能
    设计模式-状态模式在Java中的使用示例-信用卡业务系统
    在Unity中模拟汽车的移动
    Dubbo架构篇 - 服务路由
    Bert不完全手册2. Bert不能做NLG?MASS/UNILM/BART
    树莓派 3b+ 学习
    【算法面试必刷JAVA版一】反转链表
    day42
    self-supervised text erasing with controllable image synthesis
    【华为OD机试真题 python】 绘图机器【2022 Q4 | 100分】
  • 原文地址:https://blog.csdn.net/chehec2010/article/details/126726254