飞桨PaddlePaddle深度学习集训营CV学习心得

本文作者分享了在飞桨PaddlePaddle集训营的学习心得,从不用框架的房价预测案例,到使用Paddle重写,再到深入学习手写识别案例,涵盖数据处理、网络结构、损失函数和优化算法等方面。作者强调了数据处理、多GPU训练和恢复训练的重要性,并探讨了计算机视觉任务,如图像分类和目标检测。在使用飞桨的体验中,作者表达了对飞桨未来发展的期待,并计划将其应用于NLP和推荐系统。
摘要由CSDN通过智能技术生成

之前学习过吴恩达老师的深度学习的视频,但是比较少代码的实践,而且很多理论知识理解不到位。通过这次集训营的学习,增强了实战能力,对很多知识也理解更深刻,也学会多了一个深度学习框架飞桨的基本使用。

一、主要学习内容及学习到的技术:

1、不用框架只用python来实现一个房价预测的案例

这个案例对一些概念如:前向计算、反向计算、损失函数、梯度下降的理解特别有用,以下是一部分关键代码,
主要包括前向计算、计算损失、梯度计算和梯度更新

def forward(self, x):
    self.z1 = np.dot(x, self.w0) + self.b0 # N * 13
    self.z2 = np.dot(self.z1, self.w1) + self.b1 # N * 13
    self.z3 = np.dot(self.z2, self.w2) + self.b2 # N * 1
    return self.z3

def loss(self, z, y):
    error = z - y
    num_samples = error.shape[0]
    cost = error * error
    cost = np.sum(cost) / num_samples
    return cost

def gradient(self, x, y):
    z3 = self.forward(x)
    # print("*"*50)
    gradient_w2 = (z3-y) * self.z2 
    gradient_w2 = np.mean(gradient_w2, axis=0)
    gradient_w2 = gradient_w2[:, np.newaxis]  
    gradient_b2 = (z3 - y)
    gradient_b2 = np.mean(gradient_b2)
    
    gradient_w1 = (z3-y) * self.w2.T * self.z1 
    gradient_w1 = np.mean(gradient_w1, axis=0)
    gradient_w1 = gradient_w1[:, np.newaxis]  
    gradient_b1 = (z3 - y) * self.w2.T
    gradient_b1 = np.mean(gradient_b1)
    
    w1 = self.w1.T
    gradient_b0 = (z3-y) * self.w2.T * w1[0:1]
    gradient_b0 = np.mean(gradient_b0)
    gradient_b0 = gradient_b0.reshape(-1,1)
    gradient_w0 = (z3-y) * self.w2.T * w1[0:1] * x
    gradient_w0 = np.mean(gradient_w0, axis=0)
    gradient_w0 = gradient_w0[:, np.newaxis]
    
    for k in range(1,w1.shape[0],1):
        t = w1[k:k+1] 
        gw0 = (z3-y) * self.w2.T * t * x
        gw0 = np.mean(gw0, axis=0)
        gw0 = gw0[:, np.newaxis]
        gradient_w0 = np.hstack((gradient_w0,gw0))
        b0 = (z3-y) * self.w2.T * t
        b0 = np.mean(b0)
        b0 = b0.reshape(-1,1)
        gradient_b0 = np.hstack((gradient_b0,b0))
        
    return gradient_w0, gradient_b0,gradient_w1, gradient_b1,gradient_w2, gra
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值