[CS231n-assignment2] Python从零实现的CNN在CIFAR-10上的实验报告

本文是关于斯坦福大学CS231n课程的Assignment2,通过Python实现的CNN在CIFAR-10数据集上的实践报告。文中分享了在CIFAR-10上实现简单两层神经网络和不同CNN结构的经验,包括全连接层、卷积层、Dropout和Batch Normalization的使用,并提出了提高模型性能的多个技巧,如梯度检查、权值初始化、学习率调整、过拟合检测等。
摘要由CSDN通过智能技术生成

1. CS231n课程

CS231n是斯坦福大学李飞飞团队的一门关于卷积神经网络CNN的课程,这个课程从KNN和线性分类器讲到普通的神经网络,再将到卷积神经网络的实现,以及一些实用的技术如Dropout、Batch Normalization等,整个课程下来后会对CNN有个比较全面的了解。这个课程通俗易懂,是入门深度学习的良心课程,不仅图文结合阐述了网络正向和反向传播的过程,还会介绍一些在实用中的应用的trick如训练过程的梯度检查、如何判断学习率大小、如何判断过拟合等等,以及相应的解决方法

官方网站:http://cs231n.github.io/
知乎中文翻译:https://zhuanlan.zhihu.com/p/21930884

1.2 Assignment 2 使用

配套CS231n课程的有两次作业,作业2主要有四部分内容:全连接层的实现、Batch Normalization、Dropout和卷积层的实现,CS231n有作业的初始模板,可以在此下载,模板里已经填好了实现这些网络的部分代码,学习者只需要在特定的方法中填写自己的代码即可,例如下面全连接层的forward方法,只需理解了课程笔记后按照提示在TODO中填写代码,填写完后,模板中还提供了方法来检查你代码的正确性:运行IPython notebook,这个notebook会引导你如何填写代码并测试代码,最后会在CIFAR-10数据集上测试你的CNN的准确性。

def affine_forward(x, w, b):
  """
  Computes the forward pass for an affine (fully-connected) layer.

  The input x has shape (N, d_1, ..., d_k) and contains a minibatch of N
  examples, where each example x[i] has shape (d_1, ..., d_k). We will
  reshape each input into a vector of dimension D = d_1 * ... * d_k, and
  then transform it to an output vector of dimension M.

  Inputs:
  - x: A numpy array containing input data, of shape (N, d_1, ..., d_k)
  - w: A numpy array of weights, of shape (D, M)
  - b: A numpy array of biases, of shape (M,)

  Returns a tuple of:
  - out: output, of shape (N, M)
  - cache: (x, w, b)
  """
  out = None
  #############################################################################
  # TODO: Implement the affine forward pass. Store the result in out. You     #
  # will need to reshape the input into rows.                                 #
  #############################################################################
  pass
  #############################################################################
  #                             END OF YOUR CODE                              #
  #############################################
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值