安装TensorFlow和介绍Tensor
之前我们已经学了一些简单的回归和神经网络,但程序员之间“不重复造轮子”这个指导思想让我们可以不用每次在使用机器学习算法的时候都进行手动从底层开始搭建,回归很多在sklearn中进行了集成,神经网络中很多内容在TensorFlow中进行了集成。这里我来介绍一下如何使用tensorflow
安装tensorflow
在安装和配置这种环境的时候,我们尽量不要动自己电脑上的基础环境,因为未来或者你已经在进行的不同的项目需要的依赖包和版本都各不相同,一个环境是不能满足我们的要求的。python为我们提供了虚拟环境,最方便且广泛使用的就是Anaconda,如果你还没有使用过虚拟环境,你可以花上十几分钟了解一下我之前写过的一篇虚拟环境介绍博客:图文详解Anaconda虚拟环境的安装和使用及其在编程环境中的应用_虚拟机安装anaconda-CSDN博客,虚拟环境使用很简单,掌握熟练之后你会觉得和在Windows系统中创建一个文件夹一样轻松。
学习一门编程技术最快捷的方法就是阅读其官方文档:关于TensorFlow | TensorFlow中文官网 (google.cn)
让我们创建一个MachineLearning虚拟环境(python为3.6-3.9),在其中导入tensorflow依赖并进行测试,同时安装一下数据分析三剑客nump、pandas和matplotlib用来帮助我们处理数据。
在学习的过程中,我会推荐你使用jupyter notebook,可以有更强的交互性和阶段反馈,在开发项目的时候使用pycharm,管理各个文件更加方便,你有喜欢用的软件也没问题,操作语言都是python,不会有太大的出入,我在介绍的时候使用jupyter notebook进行。
让我们导入验证一下tensorflow是否安装成功
import tensorflow as tf
import numpy as np
tf.__version__
'2.10.0'
Tensor
张量(Tensor)是一个多维数组,它是标量(0维)、向量(1维)和矩阵(2维)的推广。张量可以被视为具有任意数量维度(也称为轴)的数据结构,每个维度都有固定的大小。
因为在机器学习中,很多的计算都是矩阵计算,包括之前介绍过神经网络中最重要的前向传播等,Tensor就可以非常快速地调用GPU进行这些矩阵运算。我们后续的学习也都是对Tensor进行处理
x = [[1.]]
res = tf.matmul(x,x)
res
上述操作中,先创建了一个list,将其作为参数让tf进行矩阵的乘法操作(matmul意为矩阵相乘),得到的结果就是tf的Tensor结果:
数据处理中最基础的类型应该是numpy,我们的Tensor类型也可以和numpy类型数组进行转换
将Tensor类型转为numpy数组类型
x = [[1.]]
print(type(x))
res = tf.matmul(x,x)
print(type(res))
y = res.numpy()
print(type(y))
<class 'list'>
<class 'tensorflow.python.framework.ops.EagerTensor'>
<class 'numpy.ndarray'>
numpy类型的数据也可以使用tf直接进行矩阵运算
x = [[1,2],
[3,4]]
x_ndarray = np.array(x)
x_tf = tf.add(x,1)
x_tf
<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[2, 3],
[4, 5]])>