大话Tensorflow2.0(一):基础知识

大话Tensorflow2.0(一):基础知识

1.初识计算图与张量

在Tensorflow中程序的计算过程可以表示为一个计算图,也称为一个有向图,其作用与外观均可类比于程序的流程图。计算图中的每一个操作可以视为一个节点,每一个节点可以有任意的输入与输出。
张量(Tensor)就是在边中流动的数据,在tensorflow中可以将其抽象的理解为数组。FLow的翻译为中文就是流,指的就是张量的数据沿着边在不同的节点流动并转化。TensorFlow 使用 张量 (Tensor)作为数据的基本单位。TensorFlow 的张量在概念上等同于多维数组,我们可以使用它来描述数学中的标量(0 维数组)、向量(1 维数组)、矩阵(2 维数组)等各种量。
张量的重要属性是其形状、类型和值。可以通过张量的 shape 、 dtype 属性和 numpy() 方法获得。

import tensorflow as tf

A = tf.constant([[1.0, 2.0], [3.0, 4.0]])
print(A.shape)
print(A.dtype)
print(A.numpy)
# (2, 2)
# <dtype: 'float32'>
# <bound method _EagerTensorBase.numpy of <tf.Tensor: id=0, shape=(2, 2), dtype=float32, numpy=
# array([[1., 2.],
#        [3., 4.]], dtype=float32)>>

2.初认变量

在tensorflow中,声明一个变量需要使用变量声明函数—Variable()。声明变量的时候需要提供初始值。使用变量需要有一个初始化过程,可以通过在 tf.Variable() 中指定 initial_value 参数来指定初始值。。变量与普通张量的一个重要区别是其默认能够被 TensorFlow 的自动求导机制所求导,因此往往被用于定义机器学习模型的参数。

import tensorflow as tf
A = tf.Variable(tf.zeros([2., 3.]))
B= A+1
print(B)

3.自动求导机制

在机器学习中,我们经常需要计算函数的导数。TensorFlow 提供了强大的 自动求导机制 来计算导数。以下代码展示了如何使用 tf.GradientTape() 计算函数 y(x) = x^2 在 x = 4时的导数:

import tensorflow as tf
x = tf.Variable(initial_value=3.)
with tf.GradientTape() as tape:     # 在 tf.GradientTape() 的上下文内,所有计算步骤都会被记录以用于求导
    y = tf.square(x)
y_grad = tape.gradient(y, x)        # 计算y关于x的导数
print(y_grad)

参考资料:
Tensorflow 深度学习算法原理与编程实战
简单粗暴 TensorFlow 2.0
Tensorflow官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值