百度深度学习集训营已经正式开营,每个阶段的作业都将有各自的奖励,欢迎大家学习~
PS:如遇帖子过期、审核不通过的情况,请先复制内容保存在word文档,然后根据提示,完成个人实名验证,刷新后重新粘贴复制的内容,即可提交~
欢迎大家报名参加~
1月9日作业:
作业9-1:在第二章中学习过如何设置学习率衰减,这里建议使用分段衰减的方式,衰减系数为0.1, 根据ResNet目前的训练情况,应该在训练到多少步的时候设置衰减合适?请设置好学习率衰减方式,在眼疾识别数据集iChallenge-PM上重新训练ResNet模型。
作业9-1奖励:在作业中随机各抽取5名同学送出飞桨本+数据线+飞桨贴纸
回复帖子形式: 作业9-1:XXX
抽奖作业截止时间:2020年1月13日中午12点之前
作业9-2奖励:在作业中随机各抽取5名同学送出飞桨本+数据线+飞桨贴纸
回复帖子形式: 作业9-2:XXX
抽奖作业截止时间:2020年1月13日中午12点之前
1月7日作业:
作业8:如果将LeNet模型中的中间层的激活函数Sigmoid换成ReLU,在眼底筛查数据集上将会得到什么样的结果?Loss是否能收敛,ReLU和Sigmoid之间的区别是引起结果不同的原因吗?请发表你的观点
作业8奖励:在作业中随机各抽取5名同学送出飞桨本+数据线+飞桨贴纸
回复帖子形式: 作业8:XXX
获奖同学:#820 thunder95、#819 你还说不想我吗、 #818 百度用户#0762194095、#817 呵赫 he、#816 星光1dl
1月2日作业
作业7-1 计算卷积中一共有多少次乘法和加法操作
输入数据形状是[10, 3, 224, 224],卷积核kh = kw = 3,输出通道数为64,步幅stride=1,填充ph = pw =1
完成这样一个卷积,一共需要做多少次乘法和加法操作?
提示:先看输出一个像素点需要做多少次乘法和加法操作,然后再计算总共需要的操作次数
提交方式:请回复乘法和加法操作的次数,例如:乘法1000,加法1000
作业7-1奖励:抽取5人赢得飞桨定制本+数据线,截止时间2020年1月6日中午12点之前
回复帖子形式: 作业7-1:XXX
作业7-2奖励:从正确答案中抽取5人获得飞桨定制本+50元京东卡,截止时间2020年1月6日中午12点之前
12月31日作业
作业6-1:
1.将普通神经网络模型的每层输出打印,观察内容
2.将分类准确率的指标 用PLT库画图表示
3.通过分类准确率,判断以采用不同损失函数训练模型的效果优劣
4.作图比较:随着训练进行,模型在训练集和测试集上的Loss曲线
5.调节正则化权重,观察4的作图曲线的变化,并分析原因
作业6-1奖励:抽取5人赢得飞桨定制本+数据线 ,回复帖子形式: 作业6-1:XXX
作业6-2:
正确运行AI Studio《百度架构师手把手教深度学习》课程里面的作业3 的极简版代码,分析训练过程中可能出现的问题或值得优化的地方,通过以下几点优化:
(1)样本:数据增强的方法
(2)假设:改进网络模型
(2)损失:尝试各种Loss
(2)优化:尝试各种优化器和学习率
目标:尽可能使模型在mnist测试集上的分类准确率最高
提交实现最高分类准确率的代码和模型,我们筛选最优结果前10名进行评奖
作业6-2奖励:飞桨定制本+50元京东卡
12月25日作业
12月23日作业
作业4-1:在AI studio上运行作业2,用深度学习完成房价预测模型
作业4-1奖励:飞桨定制本+ 《深度学习导论与应用实践》教材,选取第2、3、23、123、223、323…名同学送出奖品
作业4-2:回复下面问题,将答案回复帖子下方:
通过Python、深度学习框架,不同方法写房价预测,Python编写的模型 和 基于飞桨编写的模型在哪些方面存在异同?例如程序结构,编写难易度,模型的预测效果,训练的耗时等等?
回复帖子形式: 作业4-2:XXX
作业4-2奖励:在12月27日(本周五)中午12点前提交的作业中,我们选出最优前五名,送出百度定制数据线+《深度学习导论与应用实践》教材
12月17日作业
完成下面两个问题,并将答案回复在帖子下面,回帖形式:作业3-1(1)XX(2)XX
作业奖励:在2019年12月20日中午12点之前提交,随机抽取5名同学进行点评,礼品是本+数据线
12月12日作业
获奖者:第12名:飞天雄者
12月10日作业
作业1-1:在AI Studio平台上https://aistudio.baidu.com/aistudio/education/group/info/888 跑通房价预测案例
作业1-1奖励:最先完成作业的前3名,以及第6名、66名、166名、266名、366名、466名、566名、666名的同学均可获得飞桨定制大礼包:飞桨帽子、飞桨数据线 、飞桨定制logo笔
作业1-1的获奖者如图:
作业1-2:完成下面两个问题,并将答案发布在帖子下面
①类比牛顿第二定律的案例,在你的工作和生活中还有哪些问题可以用监督学习的框架来解决?假设和参数是什么?优化目标是什么?
②为什么说AI工程师有发展前景?怎样从经济学(市场供需)的角度做出解读?
作业1-2奖励:回复帖子且点赞top5,获得《深度学习导论与应用实践》教材+飞桨定制本
点赞Top5获奖者:1.飞天雄者 2.God_s_apple 3.177*******62 4.学痞龙 5.故乡237、qq526557820
作业截止时间2020年1月10日,再此之前完成,才有资格参加最终Mac大奖评选
报名流程:
1.加入QQ群:726887660,班主任会在QQ群里进行学习资料、答疑、奖品等活动
2.点此链接,加入课程报名并实践:https://aistudio.baidu.com/aistudio/course/introduce/888
温馨提示:课程的录播会在3个工作日内上传到AI studio《百度架构师手把手教深度学习》课程上
作业3:
1 使用numpy计算tanh激活函数
import numpy as np
%matplotlib inline
import matplotlib.pyplot as plt
import matplotlib.patches as patches
#设置图片大小
plt.figure(figsize=(8, 3))
# x是1维数组,数组大小是从-10. 到10.的实数,每隔0.1取一个点
x = np.arange(-10, 10, 0.1)
# 计算 tanh函数
y=(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
# 将tanh的函数图像画在左边
f = plt.subplot(121)
# 画出函数曲线
plt.plot(x, y, color='g')
# 添加文字说明
plt.text(-7.0, 0.9, r'$y=tanh(x)$', fontsize=13)
# 设置坐标轴格式
currentAxis=plt.gca()
currentAxis.xaxis.set_label_text('x', fontsize=15)
currentAxis.yaxis.set_label_text('y', fontsize=15)
plt.show()
2 统计随机生成矩阵中有多少个元素大于0
p = np.random.randn(10, 10)
sum(sum(p>0))
作业3-1
使用numpy计算tanh激活函数
tanh也是神经网络中常用的一种激活函数,其定义如下:
请参照讲义中Sigmoid激活函数的计算程序,用numpy实现tanh函数的计算,并画出其函数曲线
提交方式:请用numpy写出计算程序,并画出tanh函数曲线图,x的取值范围设置为[-10., 10.]
作业1-3 (1)
(2)
作业1-2:
1、医学图像心脏病的检测可以用监督学习来完成
假设:图像参数与心脏病的关联
参数:数字图像的三维矩阵
优化目标:预测结果与真实结果的交叉熵
2、AI目前正在悄无声息的改变着各个行业,且AI目前只处于一个初级阶段,且对人才的要求比较高,所以供远小于求,所以有前途。
作业3-2
统计随机生成矩阵中有多少个元素大于0
假设使用np.random.randn生成了随机数构成的矩阵:
p = np.random.randn(10, 10)
请写一段程序统计其中有多少个元素大于0?
作业1-3(1)
(2)
作业3-1:
1.
import numpy as np
import matplotlib.pyplot as plt
plt.figure(figsize=(8,3))
x=np.arange(-10,10,0.1)
tanh=(np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
plt.plot(x,tanh,color='r')
plt.show()
2.
import numpy as np
p=np.random.randn(10,10)
p=np.array(p)
p=p.reshape(1,100)
q=(p>0)
num_over_0=np.sum(q)
q.dtype,num_over_0
Out[]: (dtype('bool'), 54)
作业3-1
(1)使用numpy计算tanh激活函数
(2)统计随机生成矩阵中有多少个元素大于0
作业3-1
(1)
#作业1 使用numpy计算tanh激活函数
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10, 10, 0.1)
y = (np.exp(x) - np.exp(- x)) / (np.exp(x) + np.exp(- x))
plt.plot(x, y)
plt.show()
(2)
#作业2 统计随机生成矩阵中有多少个元素大于0
p = np.random.randn(10, 10)
p = p.reshape(100)
#q = (p > 0)
#print(sum(q == True))
print(sum(p > 0))
作业 2-1:
挑战题:
和示例代码基本一样,只需要改动下面的部分:
class Network(object):
def __init__(self, num_of_weights): # 随机产生w的初始值 # 为了保持程序每次运行结果的一致性, # 此处设置固定的随机数种子 np.random.seed(0) self.w = np.random.randn(num_of_weights, 1) self.b = 0. def forward(self, x): z = np.dot(x, self.w) + self.b return z
作业3-1 使用numpy计算tanh激活函数
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-10,10,0.1)
tanh = (np.exp(x)-np.exp(-x))/(np.exp(x)+np.exp(-x))
plt.plot(x,tanh,color='g')
plt.title('y=tanh(x)')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
2.假设使用np.random.randn生成了随机数构成的矩阵:
p = np.random.randn(10, 10)
请写一段程序统计其中有多少个元素大于0?
import numpy as np
p = np.random.randn(10, 10)
print('p:',p)
print('p[p>0]:',p[p>0])
print('p大于0元素个数:',len(p[p>0]))
结果:
p: [[-0.78760931 1.78384028 0.18823499 -0.69372679 0.40532793 1.28240254
1.19489722 -2.41915429 0.09209756 -1.43635871]
[ 0.14606633 -1.32989643 -0.65319534 1.07829644 -0.03936394 0.67074665
1.6309708 2.0091131 -0.65553546 0.9879926 ]
[ 1.18933878 -0.75075012 -0.20793229 -1.05907044 -0.25085002 1.63669749
0.46065025 0.22599227 0.10371791 -0.02458235]
[ 1.58626159 0.5770131 -1.06860079 -1.95810837 -0.27940521 -0.11884184
0.48196716 0.7646288 0.05380039 -0.9882648 ]
[-0.26909128 0.71724448 0.43143522 0.23572298 -0.26048173 -0.16028215
0.10759957 0.99335543 -0.03818587 0.02113333]
[ 0.1149695 0.05339611 0.10856852 -0.57509409 -1.46256484 0.54064064
-0.76978962 0.96374277 -0.57831129 0.01491359]
[-1.12447792 1.03561095 -0.08091847 -0.35840189 -1.29988216 -0.72672802
-0.49536336 -0.54358344 -1.07147217 -0.65587053]
[-1.93121723 0.11325491 -0.98376138 0.3499504 -0.00497235 0.24508467
-0.84001704 0.865327 1.05629633 0.52985514]
[ 0.81382997 -0.059019 -0.66201814 0.10741727 0.5204534 2.07665728
0.57641771 -1.19933393 0.22278283 0.06657025]
[ 1.6375919 1.39564155 -0.26038318 0.75191453 -0.64261575 -0.38843425
0.33432005 -1.51699468 -0.20136342 -0.93324633]]
p[p>0]: [1.78384028 0.18823499 0.40532793 1.28240254 1.19489722 0.09209756
0.14606633 1.07829644 0.67074665 1.6309708 2.0091131 0.9879926
1.18933878 1.63669749 0.46065025 0.22599227 0.10371791 1.58626159
0.5770131 0.48196716 0.7646288 0.05380039 0.71724448 0.43143522
0.23572298 0.10759957 0.99335543 0.02113333 0.1149695 0.05339611
0.10856852 0.54064064 0.96374277 0.01491359 1.03561095 0.11325491
0.3499504 0.24508467 0.865327 1.05629633 0.52985514 0.81382997
0.10741727 0.5204534 2.07665728 0.57641771 0.22278283 0.06657025
1.6375919 1.39564155 0.75191453 0.33432005]
p大于0元素个数: 52
作业:3-1
(1)
(2)
作业2-1:
挑战题:只需要改动下述代码,其他代码与示例代码一致。
class Network(object):
def __init__(self, num_of_weights):
np.random.seed(0)
self.w = np.random.randn(num_of_weights, 1)
self.b = 0.
#新增部分
self.w1 = np.random.randn(num_of_weights, 1)
self.b1 = 0.
def forward(self, x):
z = np.dot(x, self.w) + self.b
#新增部
z1 = np.dot(z, self.w1) + self.b1
return z1
作业3-1
(1) 使用numpy计算tanh激活函数
(2)统计随机生成矩阵中有多少个元素大于0
p = np.random.randn(10, 10)
print(p)
q = (p > 0)
print(q)
print(q.dtype)
q = q.reshape(100)
print(sum(q == True))
作业3-1:
(1):
(2):