t81_558_deep_learning

GitHub
5.7k 3k 简单 1 次阅读 3天前NOASSERTION开发框架图像
AI 解读 由 AI 自动生成,仅供参考

t81_558_deep_learning 是华盛顿大学圣路易斯分校开设的“深度神经网络应用”课程配套开源资源库,旨在通过实战案例帮助学习者掌握深度学习技术。该项目基于 Python、TensorFlow 和 Keras 框架,系统讲解了如何构建和处理处理表格数据、图像、文本及音频的神经网络模型。

它主要解决了初学者在面对复杂深度学习概念时缺乏系统性指导和落地代码的问题。课程内容涵盖了从经典的神经网络结构到卷积神经网络(CNN)、长短期记忆网络(LSTM)、生成对抗网络(GAN)及强化学习等前沿架构,并展示了这些技术在计算机视觉、时间序列分析、自然语言处理及安全领域的具体应用。此外,项目还涉及高性能计算内容,演示了如何利用 GPU 和计算集群加速模型训练。

这套资源非常适合具备一定编程基础的开发者、数据科学家以及希望深入理解深度学习原理的研究人员使用。即使你之前未接触过 Python,只要熟悉任意一门编程语言,也能跟随课程循序渐进地学习。其独特亮点在于将理论数学基础与实际工程应用紧密结合,提供了完整的 Jupyter Notebook 代码示例和配套教材,且内容随技术演进持续更新,是进入深度学习领域的一套高质量入门与实践指南。

使用场景

某高校数据科学团队正尝试构建一个能同时处理医疗影像、电子病历文本及时间序列生命体征的多模态疾病预测模型。

没有 t81_558_deep_learning 时

  • 团队成员需从零摸索 CNN、LSTM 和 GAN 等复杂架构的数学原理与代码实现,缺乏系统性的 Keras/TensorFlow 实战指引,导致开发周期漫长。
  • 面对图像、文本和表格混合数据时,不知如何设计统一的神经网络层级来提取特征,常因架构设计不当导致模型无法收敛或过拟合。
  • 缺少针对高性能计算(HPC)和 GPU 加速的具体优化方案,本地训练大规模深度模型耗时数天,严重拖慢实验迭代速度。
  • 课程提供的模块化笔记缺失,新手在 Python 数据预处理(如 Pandas 编码、JSON 处理)到深度学习落地的衔接上频繁出错。

使用 t81_558_deep_learning 后

  • 团队直接复用课程中成熟的模块代码,快速搭建起包含卷积层、记忆单元和生成对抗网络的混合架构,将原型开发时间从数周缩短至几天。
  • 依据课程中关于多模态输入的经典案例,顺利实现了影像、文本与时间序列数据的融合处理,显著提升了模型对复杂医疗数据的特征提取能力。
  • 应用课程讲解的 GPU 网格计算策略,成功将模型训练时间压缩了 80%,使得每日多次超参数调优成为可能。
  • 借助从 Python 基础到高级深度学习的完整路径指导,团队成员迅速统一了数据清洗与模型部署的标准流程,大幅降低了协作沟通成本。

t81_558_deep_learning 通过提供从理论基础到工业级落地的全栈式解决方案,帮助团队高效攻克了多模态深度学习的应用难题。

运行环境要求

操作系统
  • 未说明
GPU

课程大纲提及高性能计算(HPC)部分将演示如何在 GPU 上运行,但未指定具体型号、显存大小或 CUDA 版本要求。

内存

未说明

依赖
notes1. 本仓库为课程的旧版内容,基于 Keras/TensorFlow;华盛顿大学当前课程已升级为 PyTorch 版本。 2. 课程涵盖卷积神经网络 (CNN)、LSTM、GAN、强化学习等架构。 3. 数据集需从提供的链接单独下载。 4. 课程假设学生至少熟悉一种编程语言,但不强制要求预先掌握 Python。
python未说明 (仅提及使用 Python 编程语言,无需预先掌握)
tensorflow
keras
pandas
scikit-learn
flask
yolov5
huggingface
gym
t81_558_deep_learning hero image

快速开始

重要提示

华盛顿大学本课程的在校学生应参考本课程的PyTorch版本,该版本是目前大学实际开设的课程。本仓库包含的是之前的Keras/TensorFlow版本。

T81 558:深度神经网络应用 - TensorFlow

圣路易斯华盛顿大学

授课教师:杰夫·希顿

本课程内容会随着技术的发展而不断更新,如需了解最新动态,请在GitHub上关注我

  • 第1节:2023年春季,周一下午2:30,地点:Eads / 216
  • 第2节:2023年春季,线上

课程简介

深度学习是一系列令人振奋的新技术,专为神经网络设计。通过结合先进的训练方法和独特的神经网络架构组件,如今我们能够构建出既能处理表格数据、图像、文本和音频作为输入,也能生成这些类型数据作为输出的神经网络。深度学习使神经网络能够以类似于人脑的方式学习信息的层次结构。本课程将向学生介绍经典的神经网络结构、卷积神经网络(CNN)、长短期记忆网络(LSTM)、门控循环神经网络(GRU)、生成对抗网络(GAN)以及强化学习。课程还将涵盖这些架构在计算机视觉、时间序列分析、网络安全、自然语言处理(NLP)和数据生成等领域的应用。此外,课程还将探讨高性能计算(HPC)的相关内容,展示如何利用图形处理器(GPU)以及分布式计算集群来加速深度学习任务。本课程主要侧重于深度学习的实际应用,同时也会简要介绍其数学基础。学生将使用Python编程语言,借助Google TensorFlow和Keras实现深度学习模型。无需事先掌握Python,但要求至少熟悉一种编程语言。本课程采用混合教学模式,结合课堂讲授与在线学习。

教材

本课程的完整教材已发布在GitHub上。相同的内容也以书籍形式出版,名为《使用Keras的深度神经网络应用》,ISBN 9798416344269。如需引用本课程或本书中的内容,请使用以下BibTeX格式:

@misc{heaton2020applications,
    title={Applications of Deep Neural Networks},
    author={Jeff Heaton},
    year={2020},
    eprint={2009.05673},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

学习目标

  1. 解释神经网络(包括深度神经网络及其他类型)与其他机器学习模型相比有何异同。
  2. 判断在特定问题中是否适合使用深度神经网络。
  3. 通过在GitHub上提交的期末项目,展示对课程内容的理解。

课程大纲

本课程大纲列出了预期的课程安排、作业截止日期及阅读材料。下载当前课程大纲。

模块 内容
模块1
2023年1月23日见面
模块1:Python预备知识
  • 第1.1部分:课程概述
  • 第1.2部分:Python简介
  • 第1.3部分:Python列表、字典、集合与JSON
  • 第1.4部分:文件处理
  • 第1.5部分:函数、Lambda表达式以及Map/ReducePython预备知识
  • 本周我们将在校园见面!(第一次见面)
模块2
2023年1月30日当周
模块2:用于机器学习的Python
  • 第2.1部分:面向深度学习的Pandas简介
  • 第2.2部分:在Pandas中对分类变量进行编码
  • 第2.3部分:分组、排序和打乱数据
  • 第2.4部分:在Pandas中使用Apply和Map
  • 第2.5部分:在Pandas中进行特征工程
  • 模块1程序截止日期:2023年1月31日
  • 破冰活动截止日期:2023年1月31日
模块3
2023年2月6日当周
模块3:用于神经网络的TensorFlow和Keras
  • 第3.1部分:深度学习与神经网络导论
  • 第3.2部分:Tensorflow与Keras简介
  • 第3.3部分:保存和加载Keras神经网络
  • 第3.4部分:在Keras中使用早停法防止过拟合
  • 第3.5部分:提取Keras权重并手动计算神经网络
  • 模块2:程序截止日期:2023年2月7日
模块4
2023年2月13日当周
模块4:表格型数据的训练
  • 第4.1部分:为Keras深度学习编码特征向量
  • 第4.2部分:具有ROC和AUC的Keras多分类问题
  • 第4.3部分:具有RMSE的Keras回归问题
  • 第4.4部分:反向传播、Nesterov动量及ADAM优化方法
  • 第4.5部分:从头开始计算神经网络的RMSE和对数损失误差
  • 模块3程序截止日期:2023年2月14日
模块5
2023年2月20日见面
模块5:正则化与Dropout
  • 第5.1部分:正则化简介:Ridge和Lasso
  • 第5.2部分:在Keras中使用K折交叉验证
  • 第5.3部分:在Keras中使用L1和L2正则化来减少过拟合
  • 第5.4部分:在Keras中使用Dropout来减少过拟合
  • 第5.5部分:自助法与超参数基准测试
  • 模块4程序截止日期:2023年2月21日
  • 本周我们将在校园见面!(第二次见面)
模块6
2023年2月27日当周
模块6:用于视觉的CNN
    第6.1部分:Python中的图像处理
  • 第6.2部分:在Keras中使用卷积网络
  • 第6.3部分:使用预训练的神经网络
  • 第6.4部分:了解Keras生成器和图像增强技术
  • 第6.5部分:使用YOLOv5识别多张图片
  • 模块5程序截止日期:2023年2月28日
模块7
2023年3月6日当周
模块7:生成对抗网络(GANs)
  • 第7.1部分:GANs简介,用于图像和数据生成
  • 第7.2部分:用你自己的图片训练StyleGAN3
  • 第7.3部分:探索StyleGAN的潜在向量
  • 第7.4部分:利用GANs修复旧照片Deoldify
  • 第7.5部分:用于生成合成表格数据的GANs
  • 模块6作业截止日期:2023年3月7日
模块8
2023年3月20日当周
模块8:Kaggle
  • 第8.1部分:Kaggle简介
  • 第8.2部分:使用Scikit-Learn和Keras构建集成模型
  • 第8.3部分:你的Keras神经网络应该如何架构:超参数设置
  • 第8.4部分:针对Keras的贝叶斯超参数优化
  • 第8.5部分:本学期的Kaggle竞赛
  • 模块7作业截止日期:2023年3月21日
模块9
2023年3月27日见面
模块9:迁移学习
  • 第9.1部分:Keras迁移学习简介
  • 第9.2部分:面向计算机视觉的Keras迁移学习
  • 第9.3部分:使用Keras进行NLP领域的迁移学习
  • 第9.4部分:用于面部特征识别的迁移学习
  • 第9.5部分:用于风格迁移的迁移学习
  • 本周我们将在校园见面!(第三次见面)
  • 模块8作业截止日期:2023年3月28日
模块10
2023年4月3日当周
模块10:Keras中的时间序列
  • 第10.1部分:为深度学习和Keras编码时间序列数据
  • 第10.2部分:使用Keras编程LSTM
  • 第10.3部分:使用Keras生成文本
  • 第10.4部分:Transformer简介
  • 第10.5部分:用于时间序列的Transformer
  • 模块9作业截止日期:2023年4月4日
模块11
2023年4月10日当周
模块11:自然语言处理
  • 第11.1部分:Hugging Face简介
  • 第11.2部分:Hugging Face的分词器
  • 第11.3部分:Hugging Face的数据集
  • 第11.4部分:在Hugging Face中训练模型
  • 第11.5部分:Keras中的嵌入层是什么
  • 模块10作业截止日期:2023年4月11日
模块12
2023年4月17日当周
模块12:强化学习
  • Kaggle作业截止日期:2023年4月17日(大约下午4-6点,因Kaggle采用GMT时区)
  • 第12.1部分:OpenAI Gym简介
  • 第12.2部分:Keras中的Q学习简介
  • 第12.3部分:在OpenAI Gym中进行Keras Q学习
  • 第12.4部分:使用Keras神经网络玩Atari游戏
  • 第12.5部分:强化学习的应用
模块13
2023年4月24日见面
模块13:部署与监控
  • 第13.1部分:Flask与深度学习Web服务
  • 第13.2部分:中断与继续训练
  • 第13.3部分:将Keras深度神经网络与Web应用结合使用
  • 第13.4部分:何时重新训练你的神经网络
  • 第13.5部分:张量处理单元(TPUs)
  • 期末项目截止日期:2023年5月8日
  • 本周我们将在校园见面!(第四次见面)

数据集

版本历史

2023-spring2023/05/29
2022-fall2022/12/06
2022-spring2022/05/20
fall-20212021/12/25
2020-fall2020/12/29
2020-spring2020/08/23
fall-20192019/12/10
spring-20192019/04/19
fall-20182018/12/08
2017-fall2017/12/11
2017-spring2017/05/05

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2天前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|3天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

145.9k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.1k|★★☆☆☆|今天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|2天前
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|2天前
语言模型图像Agent