DEADLINE: 2020-07-25 22:00

写在最前面: 本课程的主要思路还是要求大家大量练习 pytorch 代码,在写代码的过程中掌握深度学习的各类算法,希望大家能够坚持练习,相信经度过这个酷暑,不知不觉中,你会感觉自己有显著提高。代码教程在 github 上,如遇到图片不显示的情况,可参考博客解决问题:https://blog.csdn.net/qq_38232598/article/details/91346392

本周的基础学习任务包括 视频学习代码练习 两部分。部分同学可能以前学过这些内容,对内容较为熟悉的同学,可以跳过前两部分直接进入第三部分 进阶练习

1. 视频学习

视频学习包括两章内容:

1.1 绪论

(下载地址:https://www.jianguoyun.com/p/DVJarjYQrKKIBhi8la0D)

  • 从专家系统到机器学习
  • 从传统机器学习到深度学习
  • 深度学习的能与不能

1.2 深度学习概述

(下载地址:https://www.jianguoyun.com/p/DVlvT3cQrKKIBhi_la0D)

  • 浅层神经网络:生物神经元到单层感知器,多层感知器,反向传播和梯度消失
  • 神经网络到深度学习:逐层预训练,自编码器和受限玻尔兹曼机

1.3 pytorch 基础

(下载地址:https://www.jianguoyun.com/p/DYkxgJcQrKKIBhi5lq0D)

所有视频下载链接2020年7月25日自动过期,请抓紧时间下载。

2. 代码练习

代码练习需要使用谷歌的 Colab,它是一个 Jupyter 笔记本环境,已经默认安装好 pytorch,不需要进行任何设置就可以使用,并且完全在云端运行。使用方法可以参考 Rogan 的博客:https://www.cnblogs.com/lfri/p/10471852.html 国内目前无法访问 colab,可以安装 Ghelper: http://googlehelper.net/

2.1 图像处理基本练习

这部分内容包括:理解图像类型,进行一些基本的图像分割操作。代码我都写在了一个 JupyterNotebook 里面,地址为:https://github.com/OUCTheoryGroup/colab_demo/blob/master/01_Image_Processing.ipynb

要求: 把代码输入 colab,在线运行观察效果。

2.2 pytorch 基础练习

基础练习部分包括 pytorch 基础操作,链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/02_Pytorch_Basic.ipynb

要求: 把代码输入 colab,在线运行观察效果。

2.3 螺旋数据分类

代码链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/03_Spiral_Classification.ipynb

要求: 把代码输入 colab,在线运行观察效果

备注:详细说明可参考 https://atcold.github.io/pytorch-Deep-Learning/zh/week02/02-3/ 中英文字幕的视频讲解在B站:https://www.bilibili.com/video/BV1gV411o7AD?p=4 有精力的同学可以看看

2.4 回归分析

代码链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/04_Regression.ipynb

要求: 把代码输入 colab,在线运行观察效果

备注: 详细说明可参考 https://atcold.github.io/pytorch-Deep-Learning/zh/week02/02-3/ 中英文字幕的视频讲解在B站:https://www.bilibili.com/video/BV1gV411o7AD?p=4 有精力的同学可以看看

3. 进阶练习(optional)

本部分代码练习为选做内容,考虑到大家基础不同,这部分供有余力的同学选做。主要内容包括: 迁移学习、图像分类、VGG模型

notebook链接:https://github.com/OUCTheoryGroup/colab_demo/blob/master/05_04_Transfer_VGG_for_dogs_vs_cats.ipynb

这部分为 Kaggle 于 2013 年举办的猫狗大战竞赛,使用在 ImageNet 上预训练的 VGG 网络进行测试。因为原网络的分类结果是1000类,所以这里进行迁移学习,对原网络进行 fine-tune (即固定前面若干层,作为特征提取器,只重新训练最后两层)。

仔细研读AI研习社猫狗大战赛题的要求:https://god.yanxishe.com/41 (目前比赛已经结束,但仍可做为练习赛每天提交测试结果)

下载比赛的测试集(包含2000张图片),利用fine-tune的VGG模型进行测试,按照比赛规定的格式输出,上传结果评测(练习赛每天仅可评测5次)。我已进行测试,VGG模型训练 1 个 epoch 的准确率约为 96.1 %。

大家可以思考,如何改进当前模型,可以进一步提高分类准确率。有了这些技术积累,可以较好的应对未来的 kaggle 竞赛。

4. 博客作业要求

完成一篇博客,题目为 “ 第一次作业:深度学习基础 ” ,博客内容包括三部分:

【第一部分】视频学习心得及问题总结

根据三个视频的学习内容,写一个总结,最后列出没有学明白的问题,初步计划针对大家的疑问,下周四(7月23日)下午在腾讯会议讨论一下,大家可提前把问题列出来。(以前已经学过视频课程的同学可以略过此步骤)

【第二部分】代码练习

在谷歌 Colab 上完成代码练习中的 2.1、2.2、2.3、2.4 节,关键步骤截图,并附一些自己的想法和解读。(以前已进行过代码练习的同学可以略过此步骤)

【第三部分】进阶练习(选做)

在谷歌 Colab 上完成猫狗大战的VGG模型的迁移学习,关键步骤截图,并附一些自己想法和解读。

在该代码的基础上,下载AI研习社“猫狗大战”比赛的测试集,利用fine-tune的VGG模型进行测试,按照比赛规定的格式输出,上传结果在线评测。将在线评测结果截图,及实现代码发在博客。同时,分析使用哪些技术可以进一步提高分类准确率。

大家有任何问题可以随时在群里交流。

【新生学习】第一周:深度学习及pytorch基础的更多相关文章

  1. 吴恩达 Deep learning 第一周 深度学习概论

    知识点 1. Relu(Rectified Liner Uints 整流线性单元)激活函数:max(0,z) 神经网络中常用ReLU激活函数,与机器学习课程里面提到的sigmoid激活函数相比有以下优 ...

  2. 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】

    [吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [  ]AI为我们的家庭和办公室的个人设备供电 ...

  3. 20145203 盖泽双《Java程序设计》第一周的学习总结

    20145203 盖泽双<Java程序设计>第一周学习总结 教材学习内容总结 第一章 1.Java是一门完全面向对象,安全可靠,与平台无关的编程语言. 2.Java现由Java SE.Ja ...

  4. 201671010140. 2016-2017-2 《Java程序设计》java学习第一周

       java学习第一周        本周是新学期的开端,也是新的学习进程的开端,第一次接触java这门课程,首先书本的厚度就给我一种无形的压力,这注定了,这门课程不会是轻松的,同时一种全新的学习方 ...

  5. Java学习第一周

    第一周学习了JDK的安装和环境的配置,初步了解了Java与C的不同之处,学习了Java的变量.基本数据类型.以及面向对象的基础.并且自行完成了一些简单Java程序的编写. (1)学习了为什么使用抽象类 ...

  6. 第一周java学习总结

    学号 20175206 <Java程序设计>第一周学习总结 教材学习内容总结 第一章是关于JAVA入门的注意事项: 第一章主要按照顺序讲了JAVA的地位,诞生,特点,JDK的安装,一些ja ...

  7. 20165213 java学习第一周

    20165213 -2018-2<Java程序设计>第一周学习总结 教材学习内容总结 java的四个特点:面向对象.平台无关性.动态性.简单. java编写程序步骤:再有jdk的情况下,先 ...

  8. Java学习第一周博客

    20145307<Java程序设计>第一周学习总结 教材学习内容总结 首先学习安装Java有两种方法,一种是用Eclipse直接编辑输出,另一种方法是用记事本之后用win+G开启cmd运行 ...

  9. Deap Learning (吴恩达) 第一章深度学习概论 学习笔记

    Deap Learning(Ng) 学习笔记 author: 相忠良(Zhong-Liang Xiang) start from: Sep. 8st, 2017 1 深度学习概论 打字太麻烦了,索性在 ...

  10. Java学习第一周心得体会

    一周的学习很快就过去了,说说我个人的总结吧! 下面几个是我觉得需要牢牢记住的 1.Java的执行机制:先编译.再解释 2.变量以及基本数据类型 3.强类型编程语言:要求变量的类型与值的类型要一致 4. ...

随机推荐

  1. Redis 的基本数据类型 和 基础应用场景

    Redis 的基础应用场景 获取中奖用户ID,随机弹出之后集合中就不存在了[set] 存储活动中中奖的用户ID,保证同一个用户不会中奖两次[set] 存储粉丝列表,value 为粉丝的用户ID,sco ...

  2. ajax前后端交互原理(2)

    2.NPM使用 2.1.NPM是什么 NPM的全称是Node Package Manager,是一个NodeJS包管理和分发工具,这里要搞清楚包的概念,通俗的说,包就是具有一定功能的工具(软件),本质 ...

  3. 只需几行 JavaScript 代码,网页瞬间有气质了!

    最近在网上闲逛,发现一个特别好玩的 JavaScript 库,叫 RoughNotation.干嘛用的呢?就是在网页上给文字加标注,比如下划线.方框.高亮文字背景等,不过是手写风格的!截图给大家感受下 ...

  4. Python之浅谈面向对象

    目录 面向对象和面向过程 面向过程 面向对象 类与对象 定义类 在现实世界中:先有对象,再有类 在程序中,务必保证:先定义(类),后使用(产生对象) 产生对象 类 对象 产生对象 属性查找顺序 对象赋 ...

  5. css兼容大部分浏览器的文本超出部分显示省略号

    css之字体多行省略(兼容大部分浏览器) 字体单行显示省略号 <style> .box1{ width: 500px; height: 1.5em; overflow: hidden; t ...

  6. [译]高性能缓存库Caffeine介绍及实践

    概览 本文我们将介绍Caffeine-一个Java高性能缓存库.缓存和Map之间的一个根本区别是缓存会将储存的元素逐出.逐出策略决定了在什么时间应该删除哪些对象,逐出策略直接影响缓存的命中率,这是缓存 ...

  7. 「MoreThanJava」Day2:变量、数据类型和运算符

    「MoreThanJava」 宣扬的是 「学习,不止 CODE」,本系列 Java 基础教程是自己在结合各方面的知识之后,对 Java 基础的一个总回顾,旨在 「帮助新朋友快速高质量的学习」. 当然 ...

  8. 使用 PostCSS 进行 CSS 处理

    在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演化之中.这给开发人员带来了效率上 ...

  9. rpm部分命令解读

    rpm部分命令解读 rpm---RedHat Package Manger---打包及安装工具 rpm参数列表   rpm -a rpm -q < rpm package name> 解读 ...

  10. Pop!_OS安装与配置(一):下载安装

    Pop!_OS安装过程 0x0 Pop!_OS简介 0x1 下载 0x2 启动盘制作 0x3 重启安装 如何分区 0x4 重启进入Pop!_OS 0x0 Pop!_OS简介 Linux发行版选哪个? ...