人工智能框架TensorFlow2:TensorFlow2.1框架介绍和安装,编写第一个TensorFlow

前言:

从本质上讲,tensorflow其实真的只是把python和numpy的一些基本功能封装了一下,从而提供了一套上层API,然后提供了一套人工智能相关的算法实现API。客观点说tensorflow1.x很失败,目前Tensorflow2因为默认了eager执行和集成keras作为人工智能算法的标准API才被广泛接受。

1、学习前必须了解的概念:张量和数据流图

1.1、张量:可以认为是数组和常量的总称呼,一般用阶表示,常量为0阶,向量(一维数组)结构为1阶,N维数组,为N阶

数据数学称呼张量称呼
1常量或者标量0阶张量
[1,2,3,4,5]一维数组,向量1阶张量

[[1,2,3,4,5],

 [6,7,8,9,10]]

二维数组,矩阵2阶张量
[[[1,2,3,4,5],

 [6,7,8,9,10]],

[[11,12,13,14,15],

 [16,17,18,19,20]]]

三维数组3阶张量
N维结构N维数组阶张量

在数学上,我们通常用一维数组和多维数组表示一个数据集合,比如:

我们要表示一个人的身高,体重,年龄可以写成 [175, 70, 30]这样的一维数组形式

这个数组的第一个元素表示身高,第二元素表示体重,第三个元素表示年龄,这个一维数组可以认为是一阶张量

如果要表示3个人的身高体重,可以写成二维数组结构

[ [175, 70, 30]

   [180, 80, 25]

   [166, 70, 33] ]   

这个结构,可以理解为一个二阶张量,那么我们就可以很好地理解其实二维结构和excel表格数据很类似,但是在人工智能领域,通常会用到三维、四维以上的数组结构,可以称为三维张量,四维张量直到N维度张量

那么,单独一个数比如:10怎么称呼呢,其实对于数学上的常量来说,可以认为是0阶张量

所以,所谓的张量其实是一种为了在人工智能领域统一称呼数据(常数)或者数据集合(一维或N维数组)采用的一个新名称

1.2、数据流图:

数学上,我们通常会进行数学运算,简单的加减乘除,如果写复杂一点,比如一个复杂的公式

例如:(1+2)*3 - 5  对于这个较为复杂的公式的计算过程,我们可以画图表示:

读起来就是:3和4加法的计算结果,再与3相乘的计算结果,然后减去5,得到最终的计算结果。

 

可以很好理解,其实就是我们数据复杂计算过程,使用了一个图形化的表示,那么TensorFlow的数据流图又有何差异呢?

其实就是计算过程的差异,机器学习和人工智能领域,已经不再是单纯的加减法,而是复杂的数学变换和数学计算,比如:

矩阵点积运算,基于最小二乘法的优化器计算(内部采用梯度下降算法),矩阵的变换,sigmod变换,softmax变换等,输入已经不是一个数或者几个数,而是一个

2、安装Tensorflow:pip install tensorflow

一般都不会报错,能够很快地安装成功。

3、编写第一个tensorflow代码

# 引入tensorflow2
import tensorflow as tf

# 查看一下当前的版本号
print(tf.version.VERSION)

# 定义tensor常量
hello = tf.constant('Hello tensorflow!')
print(hello)

执行结果为:

Tensor结构的实质可以理解为是对numpy结构进一步封装,后续博客内容讲消息解说。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值