Tensorflow2.0全套学习(持续更新中)

news2024/9/25 16:34:29

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.coloradmin.cn/o/1949629.html

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

相关文章

【深度学习】GoogLeNet实战

目录 1.猫狗识别 1.1data_partitioning.py 1.2mean_std.py 1.3model.py 1.4model_train.py 1.5model_test.py 2.水果识别 2.1data_partitioning.py 2.2mean_std.py 2.3model.py 2.4model_train.py 2.5model.test.py 1.猫狗识别 1.1data_partitioning.py import o…

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

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

昇思25天学习打卡营第21天|CV-Shufflenet图像分类

打卡 目录 打卡 ShuffleNet 网络介绍 ShuffleNet 模型架构 Pointwise Group Convolution Channel Shuffle ShuffleNet模块 ShuffleNet 模块代码 构建ShuffleNet网络 模块代码 模型训练和评估 模型训练 模型评估 模型预测 ShuffleNet 网络介绍 ShuffleNetV1是旷视科…

vue3+vite纯前端实现自动触发浏览器刷新更新版本内容,并在打包时生成版本号文件

前言 在前端项目中,有时候为了实现自动触发浏览器刷新并更新版本内容,可以采取一系列巧妙的措施。我的项目中是需要在打包时候生成一个version.js文件,用当前打包时间作为版本的唯一标识,然后打包发版 ,从实现对版本更…

【Golang 面试基础题】每日 5 题(八)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

【YashanDB知识库】绑定参数,同一个sql多个执行计划的问题

问题现象 同一个sql有两个执行计划,是否合理? 它的EXECUTIONS,ELAPSED_TIME等统计信息怎么看,是独立分开的还是统一计算的? 如下图: 问题影响版本 tpcc测试:23.2.1.100 问题的风险及影响 …

无人机公司销售需要什么资质

国家民航局于2024年1月1日实施了《无人驾驶航空器飞行管理暂行条例》,根据这个管理条例里面的 第十一条 使用除微型以外的民用无人驾驶航空器从事飞行活动的单位应当具备下列条件,并向国务院民用航空主管部门或者地区民用航空管理机构申请取得民用无人驾…

若依+AI项目开发(二)

后端代码分析 二次开发 开始执行 生成成功 创建子模块

电子签章-开放签应用

开放签电子签章系统开源工具版旨在将电子签章、电子合同系统开发中的前后端核心技术开源开放,适合有技术能力的个人 / 团队学习或自建电子签章 \ 电子合同功能或应用,避免研发同仁在工作过程中重复造轮子,降低电子签章技术研发要求&#xff0…

如何解决ChromeDriver 126找不到chromedriver.exe问题

引言 在使用Selenium和ChromeDriver进行网页自动化时,ChromeDriver与Chrome浏览器版本不匹配的问题时有发生。最近,许多开发者在使用ChromeDriver 126时遇到了无法找到chromedriver.exe文件的错误。本文将介绍该问题的原因,并提供详细的解决…

mysql-bin 恢复数据库

能看到这里的同学估计肯定摊上大事了吧!不要慌,一定要冷静,记录一下作者的大事件吧,黑客通过SQL注入的方式执行了一段SQL : DROP DATABASE ****** 后果就是导致整个数据库被删了,当时心是拔凉拔凉的&#x…

3.2、数据结构-数组、矩阵和广义表

数组结构 数组是定长线性表在维度上的扩展,即线性表中的元素又是一个线性表。N维数组是一种“同构”的数据结构,其每个数据元素类型相同、结构一致。 一个m行n列的数组表示如下: 其可以表示为行向量形式(一行一行的数据)或者列向量形式(一…

收银系统源码视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

Haproxy 可观测性最佳实践

HAProxy 是一款广泛使用的高性能负载均衡器,支持 TCP 和 HTTP 协议,提供高可用性、负载均衡和代理服务。 HAProxy 2.0 以上版本提供了完善的指标暴露体系,方便观测云收集对应的指标信息。 版本要求 HAProxy 2.0 HAProxy Enterprise 2.0r1 HAP…

自定义协议(应用层协议)——网络版计算机基于TCP传输协议

应用层:自定义网络协议:序列化和反序列化,如果是TCP传输的:还要关心区分报文边界(在序列化设计的时候设计好)——粘包问题 1、首先想要使用TCP协议传输的网络,服务器和客户端都应该要创建自己…

AI发展下的伦理挑战:构建未来科技的道德框架

一、引言 随着人工智能(AI)技术的飞速发展,我们正处在一个前所未有的科技变革时代。AI不仅在医疗、教育、金融、交通等领域展现出巨大的应用潜力,也在日常生活中扮演着越来越重要的角色。然而,这一技术的迅猛进步也带来…

RuoYi基于SpringBoot+Vue前后端分离的Java快速开发框架学习_2_登录

文章目录 一、登录1.生成验证码2.验证码作用1.大体流程2.代码层面(我们都是从前端开始看起) 一、登录 1.生成验证码 基本思路: 后端生成一个表达式,例如34?7,显而易见后面是答案截取出来题干和答案把题干11?变成图片,变成流&a…

下属不把你当回事?就做好这3步,他们会对你唯命是从!

下属不把你当回事?就做好这3步,他们会对你唯命是从! 一:规范制度,做事有理可依 企业管理好比是满汉全席,制度才是压轴大菜,人性化说教不过是菜盘边上的点缀罢了。 千万不可舍本逐末。 事要有人干…

React间的组件通信

一、父传子&#xff08;props&#xff09; 步骤 父组件传递数据&#xff0c;子组件标签身上绑定属性子组件接收数据&#xff0c;props的参数 // 子组件 function Son(props) {return (<div>this is Son, {props.name}</div>) }// 父组件 function App() {const n…

如何使用 DSPy 构建多步骤推理的 RAG 系统

一、前言 检索增强生成 (RAG) 系统已经成为构建基于大语言模型 (LLM) 应用的强大方法。RAG 系统的工作原理是&#xff1a;首先使用检索模型从外部知识源检索相关信息&#xff0c;然后使用这些信息来提示 LLM 生成最终的响应。 然而&#xff0c;基本的 RAG 系统&#xff08;也…