第20期 Datawhale 组队学习活动马上就要开始啦!
本次组队学习的内容为:
- SQL编程语言
- Go编程语言
- 编程实践(Pandas)
- 编程实践(数据可视化)
- 计算机视觉(目标检测)
大家可以根据我们的开源内容进行自学,也可以加入我们的组队学习一起来学。
开源内容:https://github.com/datawhalechina/team-learning-sql
- 贡献人员:王复振、杨煜、闫钟峰、杨梦迪、苏鹏、红星、张晋、汪健麟、苏丽敏、姚行志
- 学习周期:14天
- 学习形式:理论学习 + 练习
- 人群定位:SQL小白、初学者,希望通过系统学习来提高SQL技能的人。
- 难度系数:中
本次课程是由 Datawhale SQL 小组内部成员共同完成,是针对 SQL 小白的入门课程。学习本课程不需要什么基础,只要你喜欢SQL、想基本掌握这门技能都可以学习。
本次课程内容的设计参考了 MICK 老师的《SQL基础教程 第2版》、官方文档以及技术博客,对SQL中比较重要的知识点进行了记录和总结,每个小节都有练习题供学习者核查自己的学习效果。
本开源内容的目标是掌握以下内容:
- 数据库的安装和使用
- 数据库连接工具的安装和使用
- 基础查询、分组、排序
- 视图、子查询、函数、谓词、CASE表达式
- 表联结
- 窗口函数
SQL基础组队学习内容汇总:
- 组队、修改群昵称。
- 熟悉打卡规则。
- 独立完成数据库安装。
- 独立完成数据库连接工具安装。
- 初步了解数据库、表的概念及一些简单的操作。
- SELECT 语句基础。
- 算数运算符与比较运算符。
- 逻辑运算符。
- 表的分组与聚合。
- 为聚合条件指定条件。
- 对查询结果进行排序
- 视图
- 子查询、关联子查询、标量子查询
- 各种各样的函数
- 谓词的用法
- CASE 表达式的用法
- 表的加减法
- 表连接 JOIN(内连接、外连接、多表连接、非等值连接、交叉连接)
- 窗口函数介绍
- 窗口函数种类
- 计算移动平均
- GROUPING 运算符
- 练习1、2、3
- 练习4、5、6、7
- 练习8、9、10、11
开源内容:https://github.com/datawhalechina/go-talent
- 贡献人员:光城、伊雪、苏鹏、梁家晖、李云龙
- 学习周期:14天
- 学习形式:理论学习
- 人群定位:编程语言初学者
- 难度系数:中
本次课程是由Datawhale Go-Talent小组内部成员共同完成,是针对当前较热门的Go语言知识体系进行提炼及萃取的一门初学者课程。本次课程适用于任何小白人员。
内容目标:
希望学习者通过此门课程,可以掌握最基本的语言能力,包括但不限于:
- Go开发环境
- Go适用场景
- Go优势
- Go反射、接口、方法
- Go并发
- ...
具体内容:
- Go初探
- 数据类型、关键字、标识符
- 变量、常量、枚举
- 运算符、控制语句
- 字典、字符串
- 数组、切片
- 函数
- 结构体、方法、接口
- 包管理
- 异常处理
- 反射机制
- 单元测试
- 并发编程
- 组队、修改群昵称
- 熟悉打卡规则
- 独立完成Go环境搭建
- 了解Go语言特性
- 了解Go语言结构
- 掌握Go数据类型内容
- 掌握关键字与标识符
- 掌握变量、常量及枚举
- 区分普通枚举与自增枚举
- 掌握运算符
- 掌握条件、循环控制语句
- 掌握字典的用法
- 掌握字符串常用包
- 掌握切片与数组的区别
- 掌握切片与数组的使用
- 掌握匿名函数
- 了解函数定义
- 掌握函数参数及返回值
- 掌握结构体在方法、接口的使用
- 区分方法与接口
- 掌握Go的包管理机制
- 区分error与panic
- 了解源码分析
- 了解反射作用
- 了解反射实现
- 掌握反射的实践
- 掌握vscode单测及基本结构
- 掌握不同测试方式
- 掌握协程Goroutines
- 掌握并发原语
- 掌握channel
- 了解并发与并行
开源内容:https://github.com/datawhalechina/joyful-pandas
- 贡献人员:耿远昊、谢文睿、吴丹飞
- 学习周期:28天,每天平均花费时间2小时-5小时不等,根据个人学习接受能力强弱有所浮动。
- 学习形式:理论学习 + 练习
- 人群定位:有Python语言编程基础,对学习数据分析有需求的学员。
- 先修内容:Python编程语言
- 难度系数:中
理解并掌握pandas的所有核心知识
- 组队、修改群昵称
- 熟悉打卡规则。
- Task01:预备知识(3天)
- Task02:Pandas基础(3天)
- Task03:索引(3天)
- Task04:分组(3天)
- Task05:变形(2天)
- Task06:连接(2天)
- Task07:缺失数据(2天)
- Task08:文本数据(3天)
- Task09:分类数据(1天)
- Task10:时序数据(3天)
- Task11:综合练习(2天)
开源内容:https://github.com/datawhalechina/fantastic-matplotlib
- 贡献人员:杨剑砺、杨煜、耿远昊、李运佳、居凤霞、黄建国
- 学习周期:15天
- 学习形式:理论学习 + 练习
- 人群定位:希望通过系统学习matplotlib包来提高python可视化技能的人。
- 先修内容:Python编程语言
- 难度系数:中
本次课程是由 Datawhale 数据可视化小组内部成员共同完成,是针对 matplotlib 初学者的入门课程。学习本课程需要基本的python基础即可。
本次课程内容的设计几乎完全基于官方文档的结构,通过对于官方文档的归纳总结,系统梳理了python最重要的数据可视化包的方方面面,并且配有部分练习题供学习者核查自己的学习效果。
本开源内容的目标是掌握以下内容:
- matplotlib中的图像组成
- 绘图接口
- 基本图形的绘制
- 容器对象概念
- 布局格式
- 文本设置
- 样式/色彩设置
- 不同场景的可视化案例
- 组队、修改群昵称
- 熟悉打卡规则
- 认识matplotlib。
- 了解最简单的绘图例子。
- 熟悉一幅图像的组成。
- 熟悉两种绘图接口。
- 熟悉绘图API。
- 熟悉自定义artist对象。
- 掌握绘图基本元素。
- 掌握容器对象。
- 掌握子图的绘制。
- 掌握子图上的方法。
- 掌握图/子图上的文本。
- 掌握坐标轴上的文本。
- 掌握图例使用。
- 掌握绘图样式的配置方法。
- 掌握色彩方案的配置方法。
- 熟悉展示趋势变化的应用场景。
- 熟悉展示分布关系的应用场景。
- 熟悉展示相关关系的应用场景。
- 熟悉展示排序信息的应用场景。
- 熟悉展示组成关系的应用场景。
开源内容:https://github.com/datawhalechina/dive-into-cv-pytorch
- 内容设计:本教程的代码由安晟在开源教程a-PyTorch-Tutorial-to-Object-Detection基础上改造完成。第1-3节教程由宋志龙编写,第4-6节教程由闫永强编写,并最终由安晟进行修改和校订。郝瑞祺辅助本次组队学习的运营。
- 定位人群:具有一定CV基础,对CNN和Pytorch有一定了解,不会为装环境苦恼,至少跑过分类网络的训练。
- 时间安排:15天,每天花费3-5小时,视个人基础而定。
- 学习类型:理论教程+代码实践
- 难度系数:较高
掌握从零构建一个目标检测网络各个环节的基本原理,训出一个和YOLO性能相当的简易网络。
- 组队、修改群昵称
- 熟悉打卡规则
在task1中,我们需要学习两块内容:目标检测基本概念 和 目标检测经典的VOC数据集。
分别对应《动手学CV-Pytorch》的3.1和3.2两节:
学习任务:
- 准备好Pytorch环境
- 了解目标检测的一些基本概念,包括目标框的两种表示形式,IoU等
- 下载好VOC数据集
- 学习了解VOC数据集的格式,以及如何用代码读取VOC数据集,构建DataLoader
由于目标检测网络原理的复杂性,在正式的跑训练脚本愉快炼丹前,还有很多枯燥的概念需要学习。塔们说,这是练死劲儿,不好用,我说这个好用,这叫基本功,炼丹师讲究的就是基本功。因此在task2中,我们需要学习两块原理性的内容:锚框 和 目标检测的网络结构设计。
分别对应《动手学CV-Pytorch》的3.3和3.4两节:
学习任务:
- 了解锚框的概念及作用。
- 学习锚框的生成代码。
- 学习本教程所介绍的网络结构,包括特征提取模块和输出模块。
- 学习边界框的编解码,并思考其作用。
- 思考anchor是如何在网络中发挥作用的。
我前面还说基本功好用,我变卦了啊!这就是练死劲儿,炼丹师讲究的是化劲儿。
你光知道模型的结构,以及模型最终会输出什么怎么够,你得懂得化劲儿,通过合理的设置损失函数和一些相关的训练技巧,让模型向着正确的方向学习,从而预测出我们想要的结果。
因此在task3中,我们需要学习损失函数设计,对应《动手学CV-Pytorch》3.5节:
学习任务:
- 学习anchor和GT目标框的匹配策略
- 了解并学习损失函数的定义,并思考这样设计的道理
- 了解在线难例挖掘的训练技巧
终于,神功初成,可以开始施展拳脚了。 使用如下命令,一键训练出一个和YOLO效果差不多的目标检测网络吧。
CUDA_VISIBLE_DEVICES='0' python train.py
年轻人,就是这么不讲武德。 当然,你也别闲着,task4的学习内容,对应《动手学CV-Pytorch》3.6节:
学习任务:
- 完成我们的简化目标检测网络Tiny_Detector的训练
- 对训练好的网络进行评测
- 训练过程中,多读读代码,强化记忆本章介绍的内容
- 如果你有精力,不妨思考下如何改进下网络,并动手实践。
- 注册 CSDN、Github 或 B站等账户。
- 按照任务安排进行学习,完成后写学习笔记Blog 或 进行视频直播。
- 在每次任务截止之前在群内填写问卷打卡,遇到问题在群内讨论。
- 未按时打卡的同学视为自动放弃,被抱出学习群。
有关Datawhale组队学习的开源内容如下:
本次组队学习的 PDF 文档可到Datawhale的知识星球下载: