TensorFlow2.0基础--张量(Tensor)

    首先比较一下Python列表(list)、Numpy数组(ndarray)、Tensorflow张量(Tensor)之间的区别:
       >>  Python列表:
       		元素可以使用不同的数据类型,可以嵌套
       		在内存中不是连续存放的,是一个动态的指针数组
       		读写效率低,占用内存空间大
       		不适合做数值计算
       	>> Numpy数组:
       		 元素数据类型相同
       		 每个元素在内存中占用的空间相同,存储在一个连续的内存区域中
       		 存储空间小,读取和写入速度快
       		 不能够主动检测利用GPU进行运算,只能运行在CPU上
       	>> TensorFlow张量
       	      可以高速运行于GPU和TPU之上,实现神经网络和深度学习中的复杂算法
    
       *** 张量和numpy数组:
          ① 张量可看成将numpy数组进一步封装,使其可以执行TensorFlow中的API,且可以运行与GPU/TPU;
          ② 在TensorFlow中,所有运算都是在张量之间进行的; Numpy数组仅仅是作为输入和输出使用,不参与运算;
          ③ 张量可以运行于CPU /GPU/TPU; 而Numpy数组只能运行在CPU中。

1、创建Tensor对象tf.constant()函数

张量由Tensor类实现,每个张量都是一个Tensor对象。
 
函数格式:tf.constant(value, dtype, shape)
                value:  可以是数字、Python列表、numpy数组、布尔型、字符串等
                dtype:  元素的数据类型
                shape: 张量的形状

在这里插入图片描述
注意点:

1、TensorFlow2中的所有张量,都可以通过 .numpy()的方法,得到它对应的数组
2、TensorFlow创建浮点数张量时,默认是32位浮点数;
3、输出的形状shape=()表示是0维张量/数字/标量;
4、numpy创建浮点数组时,默认是64位浮点数,当使用numpy数组创建张量时,
TensorFlow会接受numpy数组元素的数据类型,使用64位浮点数保存数据
5、布尔型转换为整数--》 0:False, 1:True;
6、整型变量装换为布尔型,将非0数字都视为True; 0视为False。

示例:

import tensorflow as tf
import numpy as np

tf1 = tf.constant([[1,2],[3,4]])   # 1、参数为Python列表
#print(tf1)
#print(tf1.numpy())   # 2、TensorFlow2中的所有张量,都可以通过 .numpy()的方法,得到它对应的数组

tf2 = tf.constant(1.0)  # 3、参数为数字   --> 也可以写成 tf.constant(1.)
print(tf2)              # 4、 TensorFlow创建浮点数张量时,默认是32位浮点数;输出中 shape=()表示是0维张量/数字/标量

tf3 = tf.constant(np.array([1,2]))   #  5、参数为numpy数组。 numpy创建浮点数组时,默认是64位浮点数,当使用numpy数组创建张量时,TensorFlow会接受numpy数组元素的数据类型,使用64位浮点数保存数据

tf.constant(1.0, dtype=tf.float64) # 6、创建张量时,指定元素的数据类型

tf4 = tf.constant(True)  # 参数为布尔型
a = tf.constant([True,False])
# 输出:tf.Tensor([1 0], shape=(2,), dtype=int32)
print(tf.cast(a, tf.int32))  
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值