习题1:字符串排序 用Java编写一个能对一组字符串按字典序升序排序的程序 输入为N和N行字符串,需要按行输出字符串升序排序的结果 如输入3AbcAbeAbd输出:AbcAbdAbe 代码: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import&n…
习题1:字符串排序 用Java编写一个能对一组字符串按字典序升序排序的程序 输入为N和N行字符串,需要按行输出字符串升序排序的结果 如输入3AbcAbeAbd输出:AbcAbdAbe 代码: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import&n…
卷积神经网络 — 深度卷积模型 1. 经典的卷积网络 本节,吴恩达教授介绍了几种经典的神经网络模型,分别是LeNet、AlexNet、VGGNet,并且提到了后面要介绍的ResNet(残差网络)和Google的Inception。接下来对本节介绍的网络分别做一个简单的介绍。 (1)LeNet-5: 如图1 所示。LeNet-5主要针对灰度设计,所以其输入尺寸比较小,大小为32×32×1(灰度图像没有三维的RGB)。 图1 从图中可以看出,在LeNet的经典模式中:随着网络深度增加,图像的大小在缩小,但是通…
卷积神经网络 — 卷积神经网络基础 本部分整理了吴恩达课程学习笔记,但是并没有完全按照课程顺序,而是做了一些调序和删减。 1.边缘检测 卷积神经网络之所以叫卷积神经网络,是因为它包含有卷积操作。下面是在利用卷积实现边缘检测的过程: 边缘检测包括水平检测和垂直检测等多种类型,如上图所示。 ①垂直边缘检测: 为了方便描述,在这里用灰度图像来表示,即是一个height×width的矩阵。课程里采用的是一个6×6的图片,以及一个3×3的filter(即卷积核)进行卷积运算。如图所示: 其实,其计算过程是非常容易理…
1.首先可以安装VS也可以不安装VS。VS可以安装2013/2015/2017版本。 2.然后下载CUDA9.0版本。目前最新版本是CUDA9.1版,但是貌似Tensorflow目前还不支持CUDA9.1版。 下载地址为:https://developer.nvidia.com/cuda-downloads 点击legacy release,然后选择相应的版本和操作系统。 如图所示。一般情况下选择exe[local]版本,然后选择下载base installer。下载之后,然后进行安装。具体不再叙述。 3.然后下载…
欢迎来到本周的编程训练。到目前为止,你已经经常使用numpy来组建神经网络。现在,我们将通过一个深度学习框架来让你更简单的创建一个深度网络。像Tensorflow、PaddlePaddle、Torch、Caffe、Keras等其它的机器学习网络能够显著加速你的机器学习速度。所有的这些模型都有许多你可以免费阅读的文档。在本次作业中,你将要在TensorFlow中学会以下内容: (1)初始化变量 (2)开始你自己的session (3)训练算法 (4)执行一个神经网络 编程不仅能够缩短你的编程时间,而且有时候能加速你代…
1. Mini-batch 梯度下降法 对整个训练集进行梯度下降法的时候,我们必须处理整个训练数据集,然后才能进行一步梯度下降,即每一步梯度下降法需要对整个训练集进行一次处理,如果训练数据集很大的时候,处理速度就会非常慢。如果我们每次训练的时候只训练一小部分,则我们的算法速度会执行的更快。而处理的这些一小部分训练子集即称为Mini-batch。 整个算法的过程如图所示: 图1 接下来对不同size情况下性能进行比较: (1)batch梯度下降: · &nbs…
优化方法 直到现在,你已经能够经常使用梯度下降来更新你的参数和最小化代价。在本次作业中,你将学到更多优秀的优化方法以来加速学习速度,并且可能最后得到一个更好的代价函数的最终结果。拥有一个好的优化算法要比等待数日或数小时来得到一个好结果更有意义。 梯度下降就像是一个代价函数J下山一般。 为了能够开始本作业,首先当然是载入所用到的包。 import numpy as np import matplotlib.pyplot as plt import …