Tensorflow2.0全套学习

0 简介

1.学习目标

两大核心模块:深度学习经典算法Tensorflow项目实战

从零开始,详细的网络模型架构与框架实现方法

2.tensorflow:核心开源库,深度学习框架,帮助开发和训练机器学习模型

3.版本2比1有哪些优势

  • 2版本并不是难度增大,而是简化了建模的方法和步骤,比1.0更简单实用,难度更小;
  • 终于把Keras API当作核心(简单多多多了)
  • 跨平台,各种现成模型,eager mode使得调试起来不那么难受了

4.深度学习入门和进阶最好的方法

  • 多练习,多试验
  • 看论文复现代码和调试的过程-->提升最快的途径

1 Tensorflow2版本安装方法

1.安装anaconda:大部分都已经安装,没安装找个教程安装

2.安装tensorflow

①CPU版本 pip install tensorflow

②GPU版本pip install tensorflow-gpu,需要配置好cuda 10版本(去cuda官网中)

如果安装失败的可以手动安装,先下载.whl文件tensorflow-gpu · PyPI

进行安装  pip install xxx.whl

安装后可以简单试试

import  tensorflow as tf

import numpy as np

tf.__version__

2 tf基础操作

   边用边查,知道常用的就ok,不用死记很多。

矩阵

x=tf.constant([[1,9],[3,6]])

机器学习中一切数据都是矩阵,所以我们是对矩阵进行操作的。

 Tensor是啥,可以指定任意的维度(值,向量,矩阵),记住是可以进行GPU加速计算的矩阵就可以。

x1=np.ones([2,2])
x2=tf.multiply(x1,2)

3 深度学习要解决的问题

AI(人工智能)>ML(机器学习)>DL(深度学习)

机器学习绝大多数是偏人工,

深度学习:让网路深度自己去学习,最大程度是解决特征工程的问题

1.机器学习流程

数据获取------特征工程------建立模型------评估和应用

最重要的是特征工程

2.特征工程的作用

  • 数据特征决定了模型的上限
  • 预处理和特征提取是最核心的
  • 算法和参数选择决定了如何逼近这个上限

3.特征提取方法

  • 传统方法
  • 深度学习:可看为一个黑盒子,自己去学习,有一个学习的过程,什么样的特征是它认为是最合适的

4 深度学习应用领域

1. 应用

图像和文本中用的比较多。

  • 无人驾驶(检测和识别)
  • 面部识别(关键点检测和定位)
  • 医学(癌细胞检测,基因怎么组合,DNA怎么组合)
  • 变脸:神经网络来做不难,直播换脸,人脸就是像素点,只需要替换相应的像素点
  • 分辨率重构:老照片上色

2.问题

   不太支持移动端,参数太大,速度太慢了

3.数据

ImageNet:大型数据集ImageNet (image-net.org)

1w数据---->100w数据:进行数据增强(翻转、放大、缩小)

5 计算机视觉任务

1.图像分类任务

图像表示:计算中眼中的图片。就是一个矩阵,矩阵中有一些值。一张图片被表示成三维数组的形式,每个像素的值从0-255.如300*100*3。

h=3表示颜色通道(RGB)

2.问题

  • 照射角度
  • 形状改变
  • 部分遮蔽
  • 背景混入

3.机器学习常规套路

①手机数据并给定标签

②训练一个分类器 train()

③测试,评估 predict()

6 视觉任务中遇到的问题

1.传统算法

K近邻算法

①思路

  • 数据
  • 绿色是属于方块还是三角?看周围什么多,就属于什么类。
  • K=3和K=5得到的结果是不同的

②计算流程

  • 计算已知类别数据集中的点与当前点的距离
  • 按照距离依次排序
  • 选取与当前点距离最小的K个点
  • 确定前K个点所在类别的出现概率
  • 返回前K个点出现频率最高的类别作为当前点预测分类

③k近邻可以用于一般的图像分类?

一个常用的数据集CIFAR-10。10类标签,5w训练数据,1w测试数据。大小均为32*32.

测试结果:部分可以,但是没有分类对的图像?

④K近邻分类存在的问题

效果不太好。它无法识别背景和主体。

2.神经网络

①神经网络基础

线性函数:从输入到输出的映射

线性函数也叫做得分函数。

7 得分函数

1.数学表示

b:偏置(微调)

w:权重

y=kx+b

10分类x==10,有10组权重,10组b

2.计算方法

Xi是图像分为了几个像素点。

那这个3*4的矩阵是哪里来的?随机选择,选一种优化方法,在之后的迭代中学习,得到好的参数。

3.如何评价做的好还是不好?评价分类的结果

损失函数

8 损失函数的作用

做不同的任务就是损失函数不同。

还要关注是否过拟合。 

 

神经网络的缺点:太强大了,越强大的模型过拟合的风险越大。

 

9 前向传播的整体流程

到这里,我们得到的还是一个得分。如何进行分类呢?

我希望得到一个概率值,把得分值转为概率值。

回归任务:计算一个值

分类任务:计算Loss,得到一个概率

10 反向传播计算方法

1.梯度下降

这个W,,其实就是数据怎么变,认为数据的什么部分是重要的。

链式法则:梯度是一步一步传的。

2.反向传播的几个门单位

加法门单元:均等分配

MAX门单元:给最大的,

乘法门单元:互换的感觉

3神经网络整体架构

上图只关注右边的数学模型就可以。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值