Giter VIP home page Giter VIP logo

paddlepaddle / awesome-deeplearning Goto Github PK

View Code? Open in Web Editor NEW
3.0K 110.0 834.0 489.66 MB

深度学习入门课、资深课、特色课、学术案例、产业实践案例、深度学习知识百科及面试题库The course, case and knowledge of Deep Learning and AI

License: Apache License 2.0

Jupyter Notebook 63.92% Python 34.39% Shell 0.63% CMake 0.11% C++ 0.71% MATLAB 0.13% Makefile 0.01% Cython 0.03% Cuda 0.04% Gnuplot 0.04%
cnn rnn detection classification gan video segmentation pose nlp recommender-system

awesome-deeplearning's People

Contributors

1649759610 avatar an1018 avatar aqourarea avatar buaali avatar chajchaj avatar evezerest avatar icm-ai avatar jayjayming avatar jianengli avatar jiang-hs avatar jiehangxie avatar junxiao-ma avatar jzhang533 avatar ldoublev avatar lemoncherryfu avatar liucongg avatar lutianhao avatar lvjian0706 avatar shelly111111 avatar skywalk163 avatar susanlx avatar tensorfly-gpu avatar tngt avatar w5688414 avatar xyz-916 avatar youngzhou1999 avatar zbp-xxxp avatar zhanghandi avatar zhangjincv avatar zhiyuan-fan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-deeplearning's Issues

预训练文件

VIT在ImageNet的预训练模型什么时候能做出来呢

背景图数量问题

在用paddlex训练模型时,加入add_negative_samples方法时,背景图数量是有限制的吗?如果有数量现状,数值是多少呢?我添加500张和200张都会报错,130张时可以正常训练,而且精度反而下降0.3左右,不知道是啥原因。还望解答,非常感谢。

多卡训练出错-paddle2.1.2

我采用单卡训练是没问题的:python -m paddle.distributed.launch --gpus '0' train.py
但是多卡的时候:python -m paddle.distributed.launch --gpus '0,1' train.py
就会出现如下问题:
NotImplementedError: (Unimplemented) Place CUDAPlace(0) is not supported. Please check that your paddle compiles with WITH_GPU, WITH_XPU or WITH_ASCEND_CL option or check that your train process set the correct device id if you use Executor. (at /paddle/paddle/fluid/platform/device_context.cc:88)
[operator < gaussian_random > error]
Traceback (most recent call last):
File "train.py", line 204, in
model = MNIST()
File "train.py", line 94, in init
self.conv1 = Conv2D(in_channels=1, out_channels=20, kernel_size=5, stride=1, padding=2)
File "/root/anaconda3/lib/python3.8/site-packages/paddle/nn/layer/conv.py", line 633, in init
super(Conv2D, self).init(
File "/root/anaconda3/lib/python3.8/site-packages/paddle/nn/layer/conv.py", line 132, in init
self.weight = self.create_parameter(
File "/root/anaconda3/lib/python3.8/site-packages/paddle/fluid/dygraph/layers.py", line 411, in create_parameter
return self._helper.create_parameter(temp_attr, shape, dtype, is_bias,
File "/root/anaconda3/lib/python3.8/site-packages/paddle/fluid/layer_helper_base.py", line 369, in create_parameter
return self.main_program.global_block().create_parameter(
File "/root/anaconda3/lib/python3.8/site-packages/paddle/fluid/framework.py", line 2895, in create_parameter
initializer(param, self)
File "/root/anaconda3/lib/python3.8/site-packages/paddle/fluid/initializer.py", line 355, in call
op = block.append_op(
File "/root/anaconda3/lib/python3.8/site-packages/paddle/fluid/framework.py", line 2921, in append_op
_dygraph_tracer().trace_op(type,
File "/root/anaconda3/lib/python3.8/site-packages/paddle/fluid/dygraph/tracer.py", line 43, in trace_op
self.trace(type, inputs, outputs, attrs,
NotImplementedError: (Unimplemented) Place CUDAPlace(0) is not supported. Please check that your paddle compiles with WITH_GPU, WITH_XPU or WITH_ASCEND_CL option or check that your train process set the correct device id if you use Executor. (at /paddle/paddle/fluid/platform/device_context.cc:88)
[operator < gaussian_random > error]

perplexity的文档中表述错误

在docs/tutorials/deep_learning/metrics/perplexity.md这个文档中描述语言模型在测试集上的困惑度越高,则代表语言模型训练地越好,反之亦然。这里根据上文介绍应该是困惑度perplexity越低则模型越好才对吧。请您查看是否存在问题。

3-3-CV-Object_Detection.ipynb 代码

 # 对batchsize进行循环,依次处理每张图片
    for n in range(batchsize):
        # 对图片上的真实框进行循环,依次找出跟真实框形状最匹配的锚框
        for n_gt in range(len(gt_boxes[n])):
            gt = gt_boxes[n][n_gt]
            gt_cls = gt_labels[n][n_gt]
            gt_center_x = gt[0]
            gt_center_y = gt[1]
            gt_width = gt[2]
            gt_height = gt[3]
            if (gt_height < 1e-3) or (gt_height < 1e-3): # 应该有一个是 gt_width 吧
                continue

零基础实践深度学习,LeNet在手写数字识别上的应用,网络结构定义的前向计算中激活函数位置不对

notebook中的前向计算定义代码如下,代码的注释中说每个卷积层使用Sigmoid激活函数,但实际Sigmoid函数的位置并不是这样。

# 网络的前向计算过程
    def forward(self, x):
        x = self.conv1(x)
        # 每个卷积层使用Sigmoid激活函数,后面跟着一个2x2的池化
        x = F.sigmoid(x)
        x = self.max_pool1(x)
        x = F.sigmoid(x)
        x = self.conv2(x)
        x = self.max_pool2(x)
        x = self.conv3(x)
        # 尺寸的逻辑:输入层将数据拉平[B,C,H,W] -> [B,C*H*W]
        x = paddle.reshape(x, [x.shape[0], -1])
        x = self.fc1(x)
        x = F.sigmoid(x)
        x = self.fc2(x)
        return x

是否应该是下面这样?

# 网络的前向计算过程
    def forward(self, x):
        x = self.conv1(x)
        # 每个卷积层使用Sigmoid激活函数,后面跟着一个2x2的池化
        x = F.sigmoid(x)
        x = self.max_pool1(x)
        x = self.conv2(x)
        x = F.sigmoid(x)
        x = self.max_pool2(x)
        x = self.conv3(x)
        x = F.sigmoid(x)
        # 尺寸的逻辑:输入层将数据拉平[B,C,H,W] -> [B,C*H*W]
        x = paddle.reshape(x, [x.shape[0], -1])
        x = self.fc1(x)
        x = F.sigmoid(x)
        x = self.fc2(x)
        return x

文档丢失

面试宝典中的关于归一化的几个文档丢失

零基础实践深度学习 的AlexNet进行眼疾识别,查看数据形状部分,代码是否前后不一致?

文件位置:junior_class/chapeter-3-Computer_Vision/notebook/3-2-CV-Image_Classification.ipynb
前面定义数据读取器时,训练集和验证集的读取器是分开定义的

# 训练集读取器
def data_loader(datadir, batch_size=10, mode = 'train'):
# 验证机读取器
def valid_data_loader(datadir, csvfile, batch_size=10, mode='valid'):

然而后面查看数据形状的部分代码中,却都调用data_loader而只是传不同的mode参数

# 查看数据形状
DATADIR = '/home/aistudio/work/palm/PALM-Training400/PALM-Training400'
train_loader = data_loader(DATADIR, 
                           batch_size=10, mode='train')
data_reader = train_loader()
data = next(data_reader)
data[0].shape, data[1].shape

eval_loader = data_loader(DATADIR, 
                           batch_size=10, mode='eval')
data_reader = eval_loader()
data = next(data_reader)
data[0].shape, data[1].shape

波士顿房价预测归一化处理的疑问

小白一枚,按飞桨官方“零基础实践深度学习”教程,学习波士顿房价预测。有段做数据归一化处理求每列最大值,最小值,平均值的代码:


def load_data():

从文件导入数据

datafile = './work/housing.data'
data = np.fromfile(datafile, sep=' ')

每条数据包括14项,其中前面13项是影响因素,第14项是相应的房屋价格中位数

feature_names = [ 'CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE',
'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV' ]
feature_num = len(feature_names)

将原始数据进行Reshape,变成[N, 14]这样的形状

data = data.reshape([data.shape[0] // feature_num, feature_num])

将原数据集拆分成训练集和测试集

这里使用80%的数据做训练,20%的数据做测试

测试集和训练集必须是没有交集的

ratio = 0.8
offset = int(data.shape[0] * ratio)
training_data = data[:offset]

计算训练集的最大值,最小值,平均值

maximums, minimums, avgs = training_data.max(axis=0), training_data.min(axis=0),
training_data.sum(axis=0) / training_data.shape[0]

对数据进行归一化处理

for i in range(feature_num):
#print(maximums[i], minimums[i], avgs[i])
data[:, i] = (data[:, i] - minimums[i]) / (maximums[i] - minimums[i])

训练集和测试集的划分比例

training_data = data[:offset]
test_data = data[offset:]
return training_data, test_data


这里很是疑惑的地方,求每列最大值,最小值,平均值,用的数据集是训练数据集training_data = data[:offset],为何不是全部的数据集呢?

特意查了下min-max标准化,这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。按官方给的代码取80%训练集求得min-max,那test_data应该会有问题!

已签署 CLA 后始终显示未签署

点击进入签署页面会显示已签署,但是在 pr 页面仍显示未签署,可能与上传时的 git 用户名与 github 用户名不同导致的?

计算每个预测向量对图片的梯度时报错

问题是这样的。我想计算每个类别中预测向量的分量对于图片的梯度,代码是这样的

for k in range(num_classes):
# 如果下标与预测标签下标一致,跳过
if k == index_0:
continue
pred_k = predict[k]
grad_k = paddle.grad(pred_k,adv_img,retain_graph=True, create_graph=True)[0]

pred_k 是第k个类别的分量,然后我用grad进行计算时,报错了。报错内容是(NotFound) The Op dropout_grad doesn't have any grad op。这我就很不理解了。
恳请大佬指点

[Call for Contribution] Tutorials for PaddlePaddle 2.1(基于飞桨2.1的应用案例教程建设)

1. 目标

目前飞桨框架2.1版本已经发布,不久的将来即将发布2.2正式版,在2.1版本中,飞桨框架面向用户体验做了一系列的升级优化
。为了能够让用户快速掌握到飞桨框架升级内容,并了解和学习如何使用2.1进行相关任务的开发,我们进行应用案例教程的立项,在不同的任务场景上为用户提供一个端到端的易学案例,来快速的传递相关知识和使用方法。

在此呼吁广大的飞桨开发者来一起共建我们的应用案例教程,努力为用户提供更加优质的示例教程,为用户学会使用框架铺设一条高速公路。

2. 教程清单

目前我们从已有内容和待补充方向进行了初步评估,梳理了以下建议的选题方向和题目,并为大家提供了比较优秀的对标文章进行学习参考,大家可以从这个列表中选择自己想要进行贡献的题目,或者也可以进行非列表内的题目自选。

招募列表(8.23日公开)

序号 领域 题目 参考 认领人
01 机器学习 负荷预测 0.1 负荷预测0.1 - 飞桨AI Studio linsl1986
02 NLP 基于TextCNN的THUCNews文本分类任务
03 NLP 基于seq2seq的WMT-16机器翻
04 NLP 基于预训练模型完成实体关系抽取 『NLP打卡营』实践课4 基于预训练模型完成实体关系抽取 - 飞桨AI Studio
05 NLP CCKS 2021篇章级事件元素抽取 CCKS 2021篇章级事件元素抽取 - 飞桨AI Studio - 人工智能学习实训社区
06 语音 动手搭建轻量级机器同传翻译系统 『NLP打卡营』实践课8:动手搭建轻量级机器同传翻译系统 - 飞桨AI Studio
07 CV 深入了解DeepLabv3图像分割算法 lutianhao
08 CV 基于SlowFast的视频分类 KHB1698
09 推荐 局部敏感哈希原理解读
10 推荐 DeepFM的原理解读 sleepingxin
11 推荐 GNN的原理解读
12 推荐 Wide&Deep的原理解读
13 推荐 youtubeDNN原理解读
14 强化学习 SAC算法实现月球着陆器着陆 基于飞桨复现强化学习进阶算法SAC,让月球着陆器顺利着陆 - 飞桨AI Studio
15 强化学习 PPO算法实现四轴飞行器 PARL框架下入门PPO:一个战胜世界冠军的强化学习算法
16 强化学习 AlphaZero下五子棋
17 强化学习 MuZero实现CartPole 极简MuZero算法实践——Paddle2.0版本 - 飞桨AI Studio
18 NLP 情话生成送给你 发愁七夕文案?PaddleHub情话生成送给你 (文内含七夕抽奖) - 飞桨AI Studio
19 NLP 使用预训练模型实现快递单信息抽取 『NLP打卡营』实践课3:使用预训练模型实现快递单信息抽取 - 飞桨AI Studio
20 NLP 恶意网页识别 使用PaddleNLP进行恶意网页识别(七):网页二维码解析识别思路与实现 - 飞桨AI Studio
21 OCR 车牌识别 PaddleOCR:车牌识别 - 飞桨AI Studio
22 GAN 天下第一AI武道会-Deepfake换脸 天下第一AI武道会-Deepfake换脸 - 飞桨AI Studio
23 GAN 老北京城影像修复 老北京城影像修复 - 飞桨AI Studio KHB1698
24 GAN 精准唇形合成 【飞桨创意之星】宋代诗人念诗的秘密--PaddleGAN实现精准唇形合成 - 飞桨AI Studio
25 Video 给视频打标签 Skye2099
26 Video 基于PaddleVideo定位精彩足球动作
27 CV 基于PP-YOLOv2实现标注物检测
28 推荐 基于深度学习的音乐推荐 july-ML6-final-project/wsdm_music_recommendation: Final project for July Recommendation course
29 强化学习 DQN算法玩合成大西瓜 PARL强化学习——合成大西瓜 - 飞桨AI Studio tangjitingji
30 CV 来自肺部 CT 扫描的 3D 图像分类 3D image classification from CT scans KHB1698

招募列表外开发者主动贡献列表

3. 贡献指南

3.1 飞桨框架2.1版本安装和使用

  1. 飞桨(PaddlePaddle)版本统一使用2.1最新版,安装说明:https://www.paddlepaddle.org.cn/install/quick
  2. 2.1版本使用教程:https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/index_cn.html
  3. 2.1版本已有应用实践教程:https://www.paddlepaddle.org.cn/documentation/docs/zh/tutorial/index_cn.html

3.2 题目认领

  1. 可以在上面提供的列表中进行题目选择或自选题目,并将确定的题目回复到本Issue中,方便他人同步知晓已开展的文章列表信息,避免重复选题。

3.3 教程编写

  1. 应用案例教程统一使用Notebook格式(.ipynb)来进行编写,可以在本地安装使用Jupyter开发,或使用AIStudio(https://aistudio.baidu.com)。

  2. 为了方便大家进行教程的编写,并统一阅读体验,下面为大家提供了一个简单的概要框架,大家根据实际任务按照下面的框架结构进行内容编写和组织,可以结合实际场景进行微调。如果对模板有一些建议我们也可以在下面进行回复讨论。

    # 题目
    
    作者信息:Github ID (github个人主页URL)
    
    ## 1. 简要介绍
    简单的一段文字介绍本案例场景和用到的一些知识点,不用太复杂的讲述知识细节,
    
    ## 2. 环境设置
    导入包,运行一些初始化方法
    
    ## 3. 数据集
    讲述数据集的一些基础信息,描述数据集组成等。进行数据集的下载、抽样查看、数据集定义等。
    
    ## 4. 模型组网
    基于Layer定义模型网络结构,模型的可视化展示。可以概要讲述一些网络结构代码设计的原因。
    
    ## 5. 模型训练
    使用模型网络结构和数据集进行模型训练。需要讲述一些实践中的知识点。
    
    ## 6. 模型评估
    使用评估数据评估训练好的模型。
    
    ## 7. 模型预测
    对模型进行预测,展示效果。

3.4 教程上传

  1. 写好的文档通过向[https://github.com/PaddlePaddle/docs)仓库提交Pull Request的方式来进行教程文档的上传。
  2. 对提交好的PR可以指定Reviewer TCChenlong)、tngt进行内容和代码的评审,通过后会由具有Merge权限的同学进行最终的合入。

3.5 一些原则

  • 代码封装得当,易读性好,不用一些随意的变量/类/函数命名。
  • 注释清晰,不仅说明做了什么,也要说明为什么这么做。
  • 文字部分暂时不用考虑国际化,先统一使用中文编写,注意概念和描述的清晰度,尽量让大家通俗易懂,如果实在难以解释,可以给出一些能够详细介绍的页面链接。
  • 代码编写过程中能使用高层API的部分就使用高层API,无法使用高层API的部分就使用基础API。高层API使用指南:链接
  • 做好代码的自测工作,每段代码块需要有运行结果。

4. 已合入仓库的教程

目前已经有13篇基于飞桨2.0的教程贡献,查看方式:

  1. Repo目录查看已经Merge的Notebook源文件:docs/practices
  2. 查看官网渲染后的页面:应用实践

5. 还有不清楚的怎么办?

欢迎大家随时在这个Issue下进行提问。

非常感谢大家一起来贡献!共建飞桨繁荣社区!

一些文档中的错别字

官方答疑的QQ群进不了

U $(E( K044D9GI~@AL10UG
公司招了一批新人,需要给他们培训,准备用AIStudio上的课程来让他们学习,上面图片的QQ群不能加入了。

文档丢失

我点击面试宝典里的
image

打开后是这样的:
image

或许有其他文档也丢失了,麻烦一起补充一下,谢谢

百度架构师手把手带你零基础实践深度学习课节8:图像分类是否存在编写错误

第三模块:包含4×4的120通道卷积。卷积之后的图像尺寸减小到1,但是通道数增加为120。将经过第3次卷积提取到的特征图输入到全连接层。第一个全连接层的输出神经元的个数是64,第二个全连接层的输出神经元个数是分类标签的类别数,对于手写数字识别的类别数是10。然后使用Softmax激活函数即可计算出每个类别的预测概率。

定义 LeNet 网络结构

class LeNet(paddle.nn.Layer):

  1. 此处的num_classes=1是否存在编写错误?
    def init(self, num_classes=1):
    super(LeNet, self).init()
    # 创建卷积和池化层
    # 创建第1个卷积层
    self.conv1 = Conv2D(in_channels=1, out_channels=6, kernel_size=5)
    self.max_pool1 = MaxPool2D(kernel_size=2, stride=2)
    # 尺寸的逻辑:池化层未改变通道数;当前通道数为6
    # 创建第2个卷积层
    self.conv2 = Conv2D(in_channels=6, out_channels=16, kernel_size=5)
    self.max_pool2 = MaxPool2D(kernel_size=2, stride=2)
    # 创建第3个卷积层
    self.conv3 = Conv2D(in_channels=16, out_channels=120, kernel_size=4)
    # 尺寸的逻辑:输入层将数据拉平[B,C,H,W] -> [B,CHW]
    # 输入size是[28,28],经过三次卷积和两次池化之后,CHW等于120
    self.fc1 = Linear(in_features=120, out_features=64)
    # 创建全连接层,第一个全连接层的输出神经元个数为64, 第二个全连接层输出神经元个数为分类标签的类别数
    self.fc2 = Linear(in_features=64, out_features=num_classes)
    # 网络的前向计算过程
    def forward(self, x):
    x = self.conv1(x)
    # 每个卷积层使用Sigmoid激活函数,后面跟着一个2x2的池化
    x = F.sigmoid(x)
    x = self.max_pool1(x)
    x = F.sigmoid(x)
    x = self.conv2(x)
    x = self.max_pool2(x)
    x = self.conv3(x)
    # 尺寸的逻辑:输入层将数据拉平[B,C,H,W] -> [B,CHW]
    x = paddle.reshape(x, [x.shape[0], -1])
    x = self.fc1(x)
  2. 此处按照上述文字是否应该使用F.softmax?
    x = F.sigmoid(x)
    x = self.fc2(x)
    return x

本人为初学者,望解答,谢谢

transformer_courses/Transformer_Machine_Translation 找不到zh-en/train.tags.zh-en.zh.cut.txt文件

问题位置

https://github.com/PaddlePaddle/awesome-DeepLearning/tree/master/transformer_courses/Transformer_Machine_Translation

问题现象

在按照README进行bpe分词处理时,sh subword.sh命令执行错误,找不到zh-en/train.tags.zh-en.zh.cut.txt文件。

复现方式

安装完依赖并且获取数据集后,执行bpe分词处理

python data_process.py
sh subword.sh #出错命令
python bpe_process2.py

解决方法

浏览例程代码后,发现zh-en/train.tags.zh-en.zh.cut.txt文件是通过bpe_process.py脚本生成。将其添加到sh subword.sh命令前执行即可。

python data_process.py
python bpe_process.py
sh subword.sh
python bpe_process2.py

工业表计读数例程运行出错

我的版本是paddlex==1.3.11
报错
File "/home/xs/.local/lib/python3.8/site-packages/paddlex/cv/models/load_model.py", line 43, in load_model
raise Exception("There's no attribute {} in paddlex.cv.models".format(
Exception: There's no attribute PPYOLOv2 in paddlex.cv.models
后尝试用2.0.0
报错
if data.dtype == np.object:
Your running script needs PaddleX<2.0.0, please refer to https://github.com/PaddlePaddle/PaddleX/tree/release/2.0-rc/tutorials/train#%E7%89%88%E6%9C%AC%E5%8D%87%E7%BA%A7 to solve this issue.

动手学深度学习3.2节有误

features, labels两个变量都没有,看上下文是用的paddle_features paddle_labels
报错:

NameError                                 Traceback (most recent call last)
/tmp/ipykernel_21564/2487356068.py in <module>
      4 loss = squared_loss
      5 for epoch in range(num_epochs):
----> 6     for paddle_X, paddle_y in paddle_data_iter(batch_size, features, labels):
      7         l = loss(net(paddle_X, paddle_w, paddle_b), paddle_y)  # `paddle_X`和`paddle_y`的小批量损失
      8         # 因为`l`形状是(`batch_size`, 1),而不是一个标量。`l`中的所有元素被加到一起,

NameError: name 'features' is not defined

代码:

lr = 0.03
num_epochs = 3
net = paddle_linreg
loss = squared_loss
for epoch in range(num_epochs):
    for paddle_X, paddle_y in paddle_data_iter(batch_size, features, labels):
        l = loss(net(paddle_X, paddle_w, paddle_b), paddle_y)  # `paddle_X`和`paddle_y`的小批量损失
        # 因为`l`形状是(`batch_size`, 1),而不是一个标量。`l`中的所有元素被加到一起,
        # 并以此计算关于[`paddle_w`, `paddle_b`]的梯度
        l.sum().backward()
        paddle_sgd([paddle_w, paddle_b], lr, batch_size)  # 使用参数的梯度更新参数
    with paddle.no_grad():
        paddle_train_l = loss(net(paddle_features, paddle_w, paddle_b), paddle_labels)
        print(f'epoch {epoch + 1}, loss {float(pddle_train_l.mean()):f}')

修改后会报错

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
/tmp/ipykernel_21564/4159795007.py in <module>
      8         # 因为`l`形状是(`batch_size`, 1),而不是一个标量。`l`中的所有元素被加到一起,
      9         # 并以此计算关于[`paddle_w`, `paddle_b`]的梯度
---> 10         l.sum().backward()
     11         paddle_sgd([paddle_w, paddle_b], lr, batch_size)  # 使用参数的梯度更新参数
     12     with paddle.no_grad():

AttributeError: 'numpy.float64' object has no attribute 'backward'

本身自己对这种从头开始写的情况不熟悉,想学习一下,现在跑不通。。。如果我懂,我能调通,但是我不懂,没法跑通,这样就学不会。。。陷入循环。

[Call for Contribution] 深度学习百问建设

1.目标

当前飞桨在大力投入深度学习教育内容的建设,为了能够让用户快速掌握深度学习基础知识,我们进行深度学习百问的立项,快速传递深度学习相关知识的原理解读。
在此呼吁广大的飞桨开发者来一起共建我们的深度学习百问,努力为用户提供更加优质的知识点原理解释,为用户学会使用框架铺设一条高速公路。

2.深度学习百问清单

目前我们从已有内容和待补充方向进行了初步评估,梳理了以下建议的选题方向和题目,并为大家提供了比较优秀的模板进行学习参考,大家可以从这个列表中选择自己想要进行贡献的题目,如果想贡献的知识点并不在下面的列表中,大家可以填写自选列表,进行自选题目的贡献。

招募列表

序号 领域 题目 owner
01 数学知识 特征值特征向量(基本概念,并给一个例子计算特征值和特征向量)  
02   泰勒展开(基本概念+例子)  
03   贝叶斯理论(概念+一个类似于抛硬币的例子  
04   熵;(从熵到交叉熵)  
05   优化:一阶优化、二阶优化(一阶:随机梯度下降、动量、AdaGrad,二阶:牛顿法,共轭梯度法)  
06   对偶理论(对偶问题的数学解释)  
07   泛函;(定义和性质)  
08   极大似然估计(理论加举例)  
09   带约束的优化(等式约束的最优化问题,不等式约束的最优化,KTT条件)  
10 机器学习 感知机;(定义,公式,图文并茂)  
11   梯度下降及其改进;(图文并貌)  
12   Logistic Regression(理论+实践)  
13   线性回归(理论+实践)  
14   knn算法(理论+实践)  
15   决策树;(理论+实践)  
16   高斯混合模型;(单搞斯模型,高斯混合模型,EM算法)  
17   SVM;(公式推导)  
18   模拟退火算法;(原理+实现步骤)  
19   遗传算法(原理+特性+适用的问题)  
20 深度学习基础知识 全连接层(详细介绍+图、缺点)  tughv
21   卷积和池化padding的same、valid介绍(给出例子)  zhangjin12138
22   CNN 模型所需的计算力(flops)和参数(parameters)数量计算(给出计算推导、例子)  
23   深度学习中卷积的参数量和计算量(给出计算推导、例子)  
24   超参数:补充超参数有哪些、参数和超参数的区别、如何寻找超参数的最优值  
25   样本不平衡(理论、常用解决办法)  
26   前向传播和反向传播(理论、推导过程+实例)  
27   归一化方法(补充BN、GN、LN等方法介绍、优缺点、适用场景)  
28   池化方法补充(新增现有池化方法介绍、文字+图+公式)  
29   学习率衰减方法:基于repo已有的衰减方法,补充介绍,比如使用原因、优缺点等  
30 NLP知识 BLEU评估指标原理讲解,要求有原理描述,又有例子讲解  
31   ROUGE评估指标原理讲解,要求有原理描述,又有例子讲解  
32   一文读懂深度循环神经网 Deep RNN  
33   一文读懂双向循环神经网 BRNN  
34   BeamSearch原理讲解,要求需要结合任务进行讲解,比如机器翻译任务  
35   一文读懂textCNN模型原理  
36   一文读懂fastText模型原理  
37   一文读懂GloVe词向量训练  
38   手把手带你实现RNN的反向传播  
39   一文读懂循环神经网络的发展史(从RNN到LSTM,再到LSTM的各种变体,如GRU,CIFG,Peephole等),要求写清楚各个模型的区别与联系。  
40 CV知识 图像分类任务综述(从传统方法、到深度学习算法脉络梳理,单标签、多标签、粗细粒度分类任务介绍,常用数据集,应用场景等介绍)  
41   图像分割任务综述(任务背景以及应用场景,算法发展脉络,常用数据集)  
42   OCR任务综述(任务背景以及应用场景,算法发展脉络,常用数据集)  
43   视频理解任务综述(任务背景以及应用场景,算法发展脉络,常用数据集)  
44   GAN任务综述(任务背景以及应用场景,算法发展脉络,常用数据集)  lutianhao
45   MatrixNMS原理介绍  
46   基于现有数据增广内容进行补充(包括:完善现有数据增广方法介绍,新的数据增广方法补充,补充过程中如果有的话需要添加与其他方法的对比)  
47   可变形卷积原理介绍(v1、v2两个版本都需要介绍,要求原理加示例)  
48   CV方向损失函数补充(目标检测:Smooth-L1/GIoU/DIoU/CIoU/IoUAware;分割:dice loss/decoupledsegnet_relax_boundary_loss/dual task loss/edge attention loss/lovasz loss/)  
49   CV方向评估指标补充(在已有基础上进行补充,包括:分类、检测、分割、OCR、GAN、Video各个方向评估指标介绍)  
50 推荐系统 局部敏感哈希(最近邻搜索,基本原理,多桶策略等等)  
51   Item2Vec(基本原理,特点,局限性等等)  
52   Wide&Deep(结构,模型的记忆能力与泛化能力,推荐过程等)  
53   AutoRec(基本原理,结构,推荐过程)  
54   Deep Crossing(基本原理,结构,推荐过程)  
55   Graph Embedding: Deep Walk,Node2Vec, EGES  
56   FM模型(FNN,DEEPFM,NFM,FM等等)  
57   NeuralCF模型(原理,结构,优缺点等)  
58   基于强化学习的推荐(actor-critic原理,应用,推荐过程)  
59 强化学习 强化学习经典例子/实验环境详解(多臂赌博机问题、悬崖行走问题、CartPole问题、迷宫游戏、MountainCar等等)  
60   model based和model free的模型对比及优缺点  
61   强化学习中的动态规划算法(包括策略迭代算法和值迭代算法,分别详解后再进行对比)  
62   贝尔曼方程及状态值函数、状态-动作值函数  
63   带基准线的REINFORCE算法详解  

自选题目

序号 领域 题目 owner
64   ResNeXt和Res2Net的模型解读  zhangjin12138
65 语义分割任务综述 lutianhao

3.贡献指南

3.1题目认领

可以在上面提供的列表中进行题目选择或自选题目,并将确定的题目的序号及题目回复到本Issue中,方便他人同步知晓已开展的文章列表信息,避免重复选题。

3.2知识点编写

  1. 知识点统一使用markdown格式来进行编写,可以在本地安装使用Typora编写,或使用AIStudio(https://aistudio.baidu.com)。
  2. 为了方便大家进行教程的编写,并统一阅读体验,下面为大家提供了一个简单的概要框架,大家根据实际任务按照框架结构进行内容编写和组织,可以结合实际场景进行微调。

3.3编写原则

能够准确地对题目进行完整解释,且标题设置条理清晰,内容讲解洞解透彻,图文并茂。

  1. 标题条目清晰,能概括出文章内容;
  2. 内容讲解图文并茂,特别是重要或抽象部分,鼓励图像原创;
  3. 讲解内容,并有自己的真知灼见,且回答较好;
  4. 内容较为丰满,会有相关的内容拓展部分,以某项技术为例,某项技术的出现原因,技术的应用场景,技术的原理,技术相关的其他知识等等。

3.4知识点上传

  1. 写好的文档通过向https://github.com/PaddlePaddle/awesome-DeepLearning/tree/master/docs 仓库提交Pull Request的方式来进行教程文档的上传。注意更改教程中的目录地址
  2. 对提交好的PR可以指定Reviewer tngt进行内容和代码的评审,通过后会由具有Merge权限的同学进行最终的合入。

4其他问题

欢迎大家随时在这个Issue下进行提问。

非常感谢大家一起来贡献深度学习百问!共建飞桨教育繁荣社区!

yolov3数据读取

数据集为csv文件,读取bbox那一列时报错,我将bbox打印出来,错误如下:
The loss value printed in the log is the current step, and the metric is the average value of previous step.
Epoch 1/500
[0.25539652 0.5858491 0.19836193 0.38616353 0.6230101 0.67830193
0.24730836 0.46918243]
[0.7792283 0.5643961 0.11184206 0.23062788]
[0.30187854 0.2775 0.26897365 0.34833333 0.8616714 0.33833334
0.19524482 0.34333333]
ERROR:root:DataLoader reader thread raised an exception!
[0.8025461 0.5915411 0.12814969 0.3371958 ][0.3800206 0.46902418 0.27600414 0.62571114 0.78063846 0.4919463
0.31101957 0.55756444][0.7390249 0.7284802 0.31010672 0.21149425 0.23306131 0.65415066
0.25486502 0.37547892]

[0.38891497 0.512614 0.36167216 0.32222998 0.7768906 0.5151941
0.31376237 0.34344438]
[0.7358862 0.4776903 0.17449117 0.51093614 0.34561482 0.2646544
0.19531521 0.23534557 0.34956422 0.6089239 0.15438521 0.1994751 ]

SystemError Traceback (most recent call last)
in
31 verbose=1,
32 shuffle=True,
---> 33 num_workers=4)

/usr/local/lib/python3.6/dist-packages/paddle/hapi/model.py in fit(self, train_data, eval_data, batch_size, epochs, eval_freq, log_freq, save_dir, save_freq, verbose, drop_last, shuffle, num_workers, callbacks)
1493 for epoch in range(epochs):
1494 cbks.on_epoch_begin(epoch)
-> 1495 logs = self._run_one_epoch(train_loader, cbks, 'train')
1496 cbks.on_epoch_end(epoch, logs)
1497

/usr/local/lib/python3.6/dist-packages/paddle/hapi/model.py in _run_one_epoch(self, data_loader, callbacks, mode, logs)
1777 def _run_one_epoch(self, data_loader, callbacks, mode, logs={}):
1778 outputs = []
-> 1779 for step, data in enumerate(data_loader):
1780 # data might come from different types of data_loader and have
1781 # different format, as following:

/usr/local/lib/python3.6/dist-packages/paddle/fluid/dataloader/dataloader_iter.py in next(self)
786
787 if in_dygraph_mode():
--> 788 data = self._reader.read_next_var_list()
789 else:
790 if self._return_list:

SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception.
[Hint: Expected killed_ != true, but received killed_:1 == true:1.] (at /paddle/paddle/fluid/operators/reader/blocking_queue.h:158)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.