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神经网络整体架构

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

11 神经网络架构细节

12 神经元个数对结果的影响

13 正则化与激活函数

14 神经网路过拟合解决方案

15 实操

15.1 任务目标

1 任务目标与数据集简介

2 建模流程与API文档

3 网络模型训练

4 模型超参数与预测结果展示

5 分类模型建构

6 tf.data模块解读

7 模型保存与读取实例

15.2 猫狗识别

1 猫狗识别任务与数据简介

2 卷积网络涉及参数解读

3 网路架构配置

4 卷积模型训练与识别效果展示

16  数据处理

16.1 数据增强概述

16.2 图像数据变换

16.3  猫狗识别任务数据增强实例

17 迁移学习

17.1 迁移学习的目标

17.2 迁移学习策略

17.3 Resnet原理

17.4 加载训练好的经典网路模型

17.5 Callback模块与迁移学习实例

18 数据源制作

18.1 tfrecords数据源制作方法

18.2 图像数据处理实例

19 任务流程

19.1 任务流程解读

19.2 模型定义参数设置

19.3 文本词预处理操作

19.4 训练batch数据制作

19.5 损失函数定义与训练结果展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/875733.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据库开发:MySQL基础(二)

MySQL基础(二) 一、表的关联关系 在关系型数据库中,表之间可以通过关联关系进行连接和查询。关联关系是指两个或多个表之间的关系,通过共享相同的列或键来建立连接。常见的关联关系有三种类型:一对多关系,…

2024年7月25日(Git gitlab以及分支管理 )

分布式版本控制系统 一、Git概述 Git 是一种分布式版本控制系统,用于跟踪和管理代码的变更。它是由Linus Torvalds创建的,最 初被设计用于Linux内核的开发。Git允许开发人员跟踪和管理代码的版本,并且可以在不同的开 发人员之间进行协作。 Github 用的就是Git系统来管理它们的…

安卓嘀嗒清单v7.2.2.2高级版

软件介绍 TickTick是一款轻便高效的任务管理、日程管理(GTD)和时间管理应用,配备强大的记事和提醒功能。你可以在手机、平板、网页等多达11个平台上使用滴答清单记录大小事务、制定工作计划、整理购物清单、设置生日提醒,甚至安排…

DjangoRF实战-2-apps-users

1、用户模块 创建一个用户模块子应用,用来管理用户,和认证和授权。 1.1根目录创建apps, 为了使用方便,还需要再pycharm中设置一下资源路径,就可以自动提示 1.2注册子应用 1.3添加应用根目录到环境变量path python导…

AI绘画美女图如何带货? 分享最容易的起号方式,一定别错过!!

学习AI绘画最好的工具有两种。 一个是Midjourney,新手只需要知道提示词怎么写就可以了。 不懂得写,就直接去抄,去复制粘贴,AI绘画最值得鼓励的就是抄。 先学会抄,再考虑改,国外有很多设计师赚钱的方式就…

SpringBoot框架简单整合ShardingSphere-JDBC实现MySQL分库分表和读写分离及加密混合

1. 主从配置 1.1 主机1(IP:192.168.186.77) 1.1.1 docker-compose.yml version: 3.8services:mysql-master:image: mysql:latestcontainer_name: mysql-masterenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_USER: masterMYSQL_PASSWORD: 123456MYSQL…

堆的基本实现

一、堆的概念 在提出堆的概念之前,首先要了解二叉树的基本概念 一颗二叉树是节点的有限集合,该集合: 1、或者为空; 2、或者由一个根节点加上两颗分别称为左子树和右子树的两颗子树构成; 堆就是一颗完全二叉树&…

【Python系列】isin用法

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

电脑屏幕录制软件哪个好?推荐3款,满足各种录制需求

大家好,今天和大家来聊一个既实用又有点神秘的话题——电脑屏幕录制软件哪个好?这是个让众多网友头疼的问题,毕竟谁不想拥有一款既好用又好玩的录制神器呢? 首先,我们得明确屏幕录制软件可不是简单地录屏而已&#xf…

VARIAN瓦里安真空Model 979 Leak Detector Instruction Manual使用说明

VARIAN瓦里安真空Model 979 Leak Detector Instruction Manual使用说明

杂项——电阻式角度传感器使用

三个引脚,分别接3.3V,GND,ADC引脚。12位ADC有4096份,将360分成4096份,再乘以单片机返回的模拟量的值,即可得到角度。 M0代码 #include "ti_msp_dl_config.h"volatile bool gCheckADC; volatile …

免费【2024】springboot 毕业生学历证明系统

博主介绍:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HTML、Jsp、PHP、Nodejs、Python、爬虫、数据可视化…

【案例】使用React+redux实现一个Todomvc

About 大家好,我是且陶陶,今天跟大家分享一个redux的todoList案例,通过这个案例能够快速掌握redux的基本知识点🌹 ❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…❤️…

微信小程序之计算器

在日常生活中,计算器是人们广泛使用的工具,可以帮助我们快速且方便地计算金额、成本、利润等。下面将会讲解如何开发一个“计算器”微信小程序。 一、开发思路 1、界面和功能 “计算器”微信小程序的页面效果如图所示 在计算器中可以进行整数和小数的…

C++学习笔记——模板

学习视频 文章目录 模板的概念函数模板函数模板语法函数模板注意事项函数模板案例普通函数与函数模板的区别普通函数与函数模板的调用规则模板的局限性 类模板类模板与函数模板区别类模板中成员函数创建时机类模板对象做函数参数类模板与继承类模板成员函数类外实现类模板分文件…

box-shadow属性的复合写法及高级用法,超详细!

前言:最近又叕看到了一个好看的特效,随后整理了一下,发现实现起来主要靠一个css属性就实现了,有一次刷新了我对css强大的认知😎,这个属性就是box-shadow,平常我们用到的比较少,但是针…

oracle中存储过程的写法

存储过程常规语法: 实际业务例子: CREATE OR REPLACE TRIGGER "TRI_B00_02_ONLY_GUID" BEFORE/AFTER INSERT OR UPDATE OR DELETE ON B00_02 FOR EACH ROW declare t_guid varchar2(300) : ; --GUID t_cnt int : 0; BEGIN t_guid : :NEW…

【深度学习】大模型GLM-4-9B Chat ,微调与部署(1)

下载好东西: 启动容器环境: docker run -it --gpus all --net host --shm-size8g -v /ssd/xiedong/glm-4-9b-xd:/ssd/xiedong/glm-4-9b-xd kevinchina/deeplearning:pytorch2.3.0-cuda12.1-cudnn8-devel-yolov8train bashpip install typer tiktoken numpy1.2…

ROS2入门到精通—— 2-11 ROS2实战:实现基于voronoi_planner的全局规划(一)!!!保姆级教程

实现基于voronoi_planner的全局规划将分为两篇博文进行讲解 本文参考该大佬代码: https://github.com/nkuwenjian/voronoi_planner.githttps://github.com/nkuwenjian/voronoi_layer.git将上面的ROS1代码移植到ROS2,移植不易,中间遇到很多坑 0 前言 针对一些狭窄区域,可能…

【机器学习】梯度下降的基本概念和如何使用梯度下降自动化优化w和b

引言 梯度下降是一种用于寻找函数最小值的优化算法,它在机器学习中广泛用于训练模型,如线性回归、神经网络等 一、梯度下降的基本概念 1.1 目标函数 在机器学习中,这通常是损失函数(如均方误差、交叉熵等)&#xff0…