tensorflow 转张量类型为float_每天三分钟之Tensorflow:04数据结构Tensor

TensorFlow是一个面向深度学习算法的科学计算库,TensorFlow内部数据保存在张量(tensor)对象上。TensorFlow使用tensor 数据结构来表示所有的数据。TensorFlow所有的运算操作(operation,简称OP)都是基于张量(tensor)对象的。在计算图中,操作间传递的数据都是 tensor。复杂的神经网络本质上就是各种张量相乘、相加等基本运算操作的组合。

TensorFlow 使用张量(Tensor)作为数据的基本单位。TensorFlow 的张量在概念上等同于多维数组,我们可以使用它来描述数学中的标量(0 维数组)、向量(1 维数组)、矩阵(2 维数组)等 n 维的数组。

关于tensor定义示例如下:

import tensorflow as tf# 定义一个随机数(标量)random_float = tf.random.uniform(shape=()) # 定义一个有2个元素的零向量zero_vector = tf.zeros(shape=(2)) # 定义两个2×2的常量矩阵A = tf.constant([[1., 2.], [3., 4.]])B = tf.constant([[5., 6.], [7., 8.]])

张量的重要属性是其形状、类型和值。可以通过张量的 shape 、 dtype 属性和 numpy() 方法获得。例如:

# 查看矩阵A的形状、类型和值print(A.shape)      # 输出(2, 2),即矩阵的长和宽均为2print(A.dtype)      # 输出print(A.numpy())    # 输出[[1. 2.]                              #      [3. 4.]]

TensorFlow 的大多数 API 函数会根据输入的值自动推断张量中元素的类型(一般默认为 tf.float32 )。用户也可以通过加入 dtype 参数来自行指定类型,例如:

#将使得张量中的元素类型均为整数。 zero_vector = tf.zeros(shape=(2), dtype=tf.int32)

TensorFlow 里有大量的 操作 (Operation),使得我们可以将已有的张量进行运算后得到新的张量。示例如下:

C = tf.add(A, B)    # 计算矩阵A和B的和D = tf.matmul(A, B) # 计算矩阵A和B的乘积

张量可分为常量和变量。下面通过代码和示例介绍常量和变量的使用方法。

(1)常量的定义和使用

#定义常量a = tf.constant(1)b = tf.constant(2)v1 = tf.constant([1.,2.])v2 = tf.constant([3.,4.])M  = tf.constant([[1.,2.]])N  = tf.constant([[1.,2.],[3.,4.]])K  = tf.constant([[[1.,2.],[3.,4.]]])#运算c = a + bd = a * bv3 = v1 + v2M2 = M * M NN = tf.matmul(N,N)

(2)变量的定义和使用

#定义变量# a=tf.Variable()  #这条语句是错误的,原因?v0 = tf.Variable(1.)print(v0)print(v0.numpy())v1 = tf.Variable(1., shape=tf.TensorShape(None)) #shape参数v1.assign([[1.]])print(v1)len(v1.numpy())my_var = tf.Variable(3,name="my_variable")  #name参数print(my_var)#赋值v0.assign(2.)print(v0.numpy())# shape、dytpe和numpy()x = tf.Variable([1,2],dtype=tf.float64)print(x)print(x.shape)print(x.dtype)print(x.numpy())print(type(x))  ##运算v0.assign_add(0.5)print(v0.numpy())x.assign_add([1,2])x.assign_add([3,4])

今天介绍的TensorFlow内容就是这些,咱们明天见。

00660aa27dc644d4842367a9046ac0e9
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值