TensorFlow2.0学习笔记(2)—关于numpy和tensorflow

本文对比了Numpy和TensorFlow的功能差异,重点介绍了TensorFlow如何弥补Numpy在GPU计算和自动求导方面的不足。同时,文章详细解释了TensorFlow中Tensor的概念,包括Scalar、Vector和Matrix,并提供了Numpy数组与Tensor之间的转换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要介绍numpy和tensorflow的一些区别以及转化的方法以及tensor的概念。

1.numpy和tensorflow

Numpy是用来处理数组的科学计算库,其在深度学习兴起之前就已经存在,其不能很好的支持GPU计算,也不能支持自动求导。而tf正是为了弥补这些缺点而产生的。

2.tensor

在tf中我们经常会见到以下一些类型。
在这里插入图片描述
其中,Scalar代表一个标量(一维向量代表的是一个1*1的矩阵,其运算规则是遵循线性代数中的矩阵运算规则。而标量只是一个常数,它参与的是数乘运算。),其维度为0。Vector代表向量其维度为1,
Matrix代表一个矩阵。严格意义上的定义,当rank>2时,才能把矩阵叫做tensor,但是在TF中我们通常把维度为1的数据也可以叫做tensor。在此处从数学意义上说,不够严谨,但是在工程表达中没有差别。

3.numpy和tensor的转化

3.1首先判断是否为tensor:
假设:

a=np.arange(5)

使用如下命令判断是否为tensor:

tf.is_tensor(a)

Flase

3.2 转换

aa=tf.convert_to_tensor(a)

使用tf.convert_to_tensor可以把np转换为tensor,

4.其他函数

4.1 tensorflow我们还可以在不同的数据类型以及数据长度之间相互转化。

tf.cast(aa,dtype=tf.float32)
<tf.Tensor: id=32,shape=(5,),dtype=float32,numpy=array([0.,1.,2.,3.,4.],dtype=float32)>

使用cast函数可以转换不同数据之间的类型以及数据长度。以上程序是把aa从int64转换为float32数据类型。

4.2 Variable是指神经网络中可以变化的变量,主要是为了用来适应神经网络中参数更新的属性。

a=tf.range(5)

b=tf.Variable(a)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值