当前位置: 首页 > news >正文

人工智能-python-深度学习-项目全流程解析

文章目录

  • 深度学习项目流程全解析
    • 1. 数据获取方法
      • 1.1 开源数据集
      • 1.2 外包平台
      • 1.3 自己采集和标注
      • 1.4 通过网络爬取
    • 2. 数据本地化
      • 2.1. 图片本地化
      • 2.2 加载图片数据集
      • 2.3 本地图片序列化
    • 3. 过拟合处理
      • 3.1 数据增强
        • 3.1.1 数据增强的方法
      • 3.2 标准化
      • 3.3 DROP-OUT
      • 3.4 欠拟合注意事项
    • 4. 训练过程可视化
      • 4.1 该可视化什么(核心清单):
      • 4.2 Tensor Board
        • 4.3 准备工作
        • 4.4 保存训练过程曲线
        • 4.5 曲线查看
        • 4.6 保存网络结构
        • 4.7 模型参数可视化
        • 4.8 记录训练数据
        • 4.9 避坑指南
    • 5. 验证结果数据化
      • 5.1 数据结果Excel
      • 5.2 模型指标矩阵化
        • 5.2.1 混淆矩阵
        • 5.2.2 常见指标
        • 5.2.3 理解对角线
        • 5.2.4 模型指标计算及可视化
          • 2.4.1 分类报告
          • 2.4.2 准确度(Accuracy)
          • 2.4.3 精确度(Precision)
          • 2.4.4 召回率(Recall)
          • 2.4.5 F1分数(F1-Score)
          • 2.4.6 混淆矩阵及可视化
    • 6. 网络性能提升
      • 6.1 使用更复杂的模型
        • 6.1.1 导入模型
        • 6.1.2 使用模型
      • 6.2 继续训练
      • 6.3 预训练和迁移学习
        • 6.3.1 导入
        • 6.3.2 初始化
        • 6.3.3 保存初始权重文件
        • 6.3.4 修改网络结构
        • 6.3.5 调整权重参数
        • 6.3.6 新参数+新模型
      • 6.4 调整优化器和学习率
        • 6.4.1 冻结层
        • 6.4.2 学习率的调整
    • 7. 总结


深度学习项目流程全解析

1. 数据获取方法

1.1 开源数据集

  • 公开数据集:MNIST、CIFAR-10、ImageNet 等
  • 网络爬取:爬虫、API 接口获取
  • 自建数据集:人工采集、标注工具(LabelImg、CVAT)
  • 第三方平台:Kaggle、UCI、Google Dataset Search

1.2 外包平台

效果好,成本高

外包平台(Amazon Mechanical Turk,阿里众包,百度数据众包,京东微工等) 还有咸鱼
在这里插入图片描述

1.3 自己采集和标注

质量高,效率低,时间成本高

pip install labelimg

1.4 通过网络爬取

import requests
from bs4 import BeautifulSoup
import pandas as pddef crawl_news():# 目标网页(这里以人民网国际频道为例)url = "http://world.people.com.cn/"headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) ""AppleWebKit/537.36 (KHTML, like Gecko) ""Chrome/120.0.0.0 Safari/537.36"}# 发送请求response = requests.get(url, headers=headers)response.encoding = response.apparent_encoding  # 自动识别网页编码if response.status_code != 200:print("请求失败:", response.status_code)return# 解析 HTMLsoup = BeautifulSoup(response.text, "html.parser")# 找到新闻标题(人民网首页新闻一般放在 <a> 标签中)news_list = []for a in soup.select("a"):  # 提取所有链接title = a.get_text(strip=True)link = a.get("href")if title and link and len(title) > 5:  # 过滤掉空的/短的标题news_list.append({"title": title, "link": link})# 保存到 CSVdf = pd.DataFrame(news_list)df.to_csv("news.csv", index=False, encoding="utf-8-sig")print(f"成功抓取 {len(df)} 条新闻,已保存到 news.csv")if __name__ == "__main__":crawl_news()

2. 数据本地化

使用公开数据集时,会自动保存到本地。如果已下载,就不会重复下载。如果需要以图片的形式保存到本地以方便观察和重新处理,可以按照如下方式处理。

2.1. 图片本地化

使用一下代码保存图片到本地

dir = os.path.dirname(__file__)
def save2local():trainimgsdir = os.path.join(dir, "MNIST/trainimgs")testimgsdir = os.path.join(dir, "MNIST/testimgs")if not os.path.exists(trainimgsdir):os.makedirs(trainimgsdir)if not os.path.exists(testimgsdir):os.makedirs(testimgsdir)trainset = torchvision.datasets.MNIST(root=datapath,train=True,download=True,transform=transforms.Compose([transforms.ToTensor()]),)for idx, (img, label) in enumerate(trainset):labdir = os.path.join(trainimgsdir, str(label))os.makedirs(labdir, exist_ok=True)pilimg = transforms.ToPILImage()(img)# 保存成单通道的灰度图pilimg = pilimg.convert("L")pilimg.save(os.path.join(labdir, f"{idx}.png"))# 加载测试集testset = torchvision.datasets.MNIST(root=datapath,train=False,download=True,transform=transforms.Compose([transforms.ToTensor()]),)for idx, (img, label) in enumerate(testset):labdir = os.path.join(testimgsdir, str(label))os.makedirs(labdir, exist_ok=True
http://www.dtcms.com/a/361121.html

相关文章:

  • LeetCode刷题记录----74.搜索二维矩阵(Medium)
  • 2025年中国GEO优化服务商全景分析:技术演进、核心能力与选型指南
  • 设计模式14-组合模式
  • 内存管理 - 从虚拟到物理
  • ADSL 代理 Proxy API 申请与使用指南
  • 前端安全防护深度实践:从XSS到CSRF的完整安全解决方案
  • T507 音频调试
  • 在 Qt 中:QString 好,还是 std::string 好?
  • DVWA靶场通关笔记-Weak Session IDs (Impossible级别)
  • 【Flask】测试平台开发,实现全局邮件发送工具 第十二篇
  • 【SpringBoot】20 - SpringBoot中的Ajax和MyBatis究竟是什么?
  • 【lucene核心】impacts的由来
  • 【Web安全】CRLF注入攻击深度解析:原理、场景与安全测试防御指南
  • hive表不显示列注释column comment的问题解决
  • 【Proteus仿真】蜂鸣器控制系列仿真——蜂鸣器控制/蜂鸣器播放音乐/蜂鸣器播放多种音乐/蜂鸣器和LED组成报警装置
  • UE5 C++ 第三方动态库的使用
  • 【数据库】openGauss 6.0 单机自动化安装最佳实践
  • MTK-Android13-实现拷贝预置资源到vendor分区下
  • Java全栈学习笔记27
  • 深度解析条件编译:#ifdef与#ifndef的本质区别与应用实践
  • Dify中使用SearXNG
  • 子串:滑动窗口最大值
  • Macbook Air M4 笔记本 ChatTTS 初体验
  • 总线矩阵的原理
  • 番外篇 | YOLO-FireAD:通过注意力逆残差模块与双池化模块融合实现高精度火灾检测
  • GitHub CLI (gh) 全面指南:终端中的 GitHub 工作流革命
  • 前端页面性能优化
  • JavaScript 性能优化实战技术
  • 99、23种设计模式之组合模式(8/23)
  • Map + 函数式接口的策略模式