Skip to content

本仓库提供了使用PyTorch进行深度学习的最佳实践,从深度学习环境搭建与张量基础入手,从0到1构建和训练神经网络,通过优化促进模型的收敛和更好的效果,同时着力于深度架构落地实践,最后通过一线CV(和NLP)企业级应用提升实战能力。项目以Jupyter Notebook为主,兼顾了理论基础和最佳实现,而不只是空洞的代码,适合小白入门;通过若干案例和大项目巩固实战和项目迁移能力;并提供多种优化手段助力论文和比赛提分。

Notifications You must be signed in to change notification settings

donggeai/Hands-on-Deep-Learning-with-PyTorch

Repository files navigation

pytorch-logo

PyTorch深度学习实战

作为Meta开源的深度学习框架,PyTorch在近几年的发展中被越来越多的人使用,不论是学术界还是工业界、学生还是上班族,PyTorch被越来越多的人追捧。比于TensorFlow的静态计算图,PyTorch的动态图可以带来更大的灵活性,提供了各种张量操作并通过自动求导可以自动进行梯度计算,方便构建各种神经网络模型,同时支持使用GPU/TPU加速计算。本仓库提供了使用PyTorch进行深度学习的最佳实践,从深度学习环境搭建与张量基础入手,从0到1自由构筑和训练神经网络,通过优化网络保障高分结果和运行效率,同时着力于深度架构落地实践,最后通过一线CV(和NLP)企业级应用提升实战能力。项目以Jupyter Notebook为主,兼顾了理论基础和最佳实现,而不只是空洞的代码,适合小白入门;通过若干案例和大项目巩固实战和项目迁移能力;并提供多种优化手段助力论文和比赛提分。

环境

所有代码都是在以下环境中编写和调试:

  • Python 3.9.13
  • PyTorch 1.11.0
  • CudaToolkit 1.11.1
  • CUDA 1.11
  • Conda 22.11.1

完整的环境依赖可查看requirements.txt,只需要安装主要的库即可:

conda create -n handsondlbase python=3.9.10 -y
conda install pytorch==1.11.0 cudatoolkit=11.1 -c pytorch -c conda-forge -y
conda install pandas matplotlib seaborn jupyter scikit-learn tensorboard -y
conda install torchvision=0.12.0 -c pytorch --no-deps -y
pip install tqdm opencv-python

如果不需要GPU版,也可以不安装cudatoolkit、直接安装PyTorch。

目录

  1. 深度学习环境和PyTorch基础
  2. 从0搭建神经网络
  3. 神经网络的训练和预测
  4. 神经网络训练的稳定性与优化
  5. 深度视觉与卷积神经网络

运行结果示例

一些实际运行的效果示例如下:

  • SSE损失的3维图像

    sse_3d_image

  • 导数与梯度

    derivative_and_grad

  • TensorBoard可视化示例

    tensorboard_linear_model_structure

  • Sigmoid激活函数堆叠效应

    sigmoid_stack_compare

  • 存在梯度消失的模型的各层梯度小提琴图

    gradient_disappear_violin

  • 带BN的模型的学习率的U型学习曲线

    bn_lr_learning_curve

  • OpenCV使用拉普拉斯算子和索贝尔算子进行边缘检测

    opencv_laplacian_sobel_detection

持续更新中……

交流与反馈

欢迎您通过Github Issues来提交问题、报告与建议:

About

本仓库提供了使用PyTorch进行深度学习的最佳实践,从深度学习环境搭建与张量基础入手,从0到1构建和训练神经网络,通过优化促进模型的收敛和更好的效果,同时着力于深度架构落地实践,最后通过一线CV(和NLP)企业级应用提升实战能力。项目以Jupyter Notebook为主,兼顾了理论基础和最佳实现,而不只是空洞的代码,适合小白入门;通过若干案例和大项目巩固实战和项目迁移能力;并提供多种优化手段助力论文和比赛提分。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published