学卷积神经网络的理论的时候,我觉得自己看懂了,可是到了用代码来搭建一个卷积神经网络时,我发现自己有太多模糊的地方.这次还是基于MINIST数据集搭建一个卷积神经网络,首先给出一个基本的模型,然后再用Batch Norm.Dropout和早停对模型进行优化:在此过程中说明我在调试代码过程中遇到的一些问题和解决方法. 一.搭建基本的卷积神经网络 第一步:准备数据 在<Hands on Machine Learning with Scikit-Learn and TensorFlow>这本书上,用的
BP: 正向计算loss,反向传播梯度. 计算梯度时,从输出端开始,前一层的梯度等于activation' *(与之相连的后一层的神经元梯度乘上权重的和). import torch from torch import nn from torch.autograd import Variable x_data = [1.0, 2.0, 3.0] y_data = [2.0, 4.0, 6.0] # Any random value w = Variable(torch.Tensor([1.0])
使用Keras中文文档学习 基本概念 Keras的核心数据结构是模型,也就是一种组织网络层的方式,最主要的是序贯模型(Sequential).创建好一个模型后就可以用add()向里面添加层.模型搭建完毕后需要使用complie()来编译模型,之后就可以开始训练和预测了(类似于sklearn). Sequential其实是模型的一种特殊情况,单输入单输出,层与层之间只有相邻关系.而通用的模型被称为函数式模型(function model API),支持多输入多输出,层与层之间可以任意相连. Ker