自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 500服务器内部错误-----链接数据库出现空指针错误的解决方案

我一开始的报错如下:首先按照报错提示锁定41行没有错误再锁定配置文件里的数据库相关设置没有错误...找了很久问题所在,最后终于发现是我的mySQLServer是5.1版本,而我用的驱动却是高版本mysql-connector-java-8.0.11.jar。于是我到mySQL官网下载了匹配的驱动mysql-connector-java-5.1.48.jar。就成...

2020-03-25 20:03:06 974

原创 关于Python中可变参数**a的理解和三种调用方式

定义一个简单的函数如下def f(**a): print(a)**a表示若干个关键字参数a表示由若干个关键字参数构成的字典变量上述函数的作用就是打印字典变量a# 三种调用方式1.传入若干个关键字参数f(i=1,j=2) 这里的a就是由关键字参数i=1,j=2构成的字典变量{'i':1,'j':2}2.直接传入一个字典变量f(**{'i':1,'j':...

2020-02-14 19:21:44 2578

原创 深度学习笔记---简单三层CNN的自制框架实现以及对MNIST数据集的训练实现

# 1.简单三层CNN的简易计算图如下下面的源代码来自《深度学习入门——基于python的理论与实现》# 2.CNN类的实现import sys,ossys.path.append(os.pardir)import numpy as npfrom layers import * # 导入加权和层类Affine、激活函数层类ReLU、卷积层类Convolution、池化层...

2020-02-10 18:34:00 2846 1

原创 ValueError: Only know how to handle extensions: ['png']; with Pillow installed matplotlib can handle

只要安装Pillow库就可以解决了1.在命令行中找到对应虚拟环境位置,然后activate虚拟环境名进入虚拟环境2.安装Pillowconda install Pillow运行过程如下:安装成功,问题解决。...

2020-02-09 11:04:07 1802

原创 深度学习笔记---卷积层和池化层的实现

# 1.卷积层这里为了叙述简便,仅考虑一个数据(三维)。卷积层前向函数实现原理:将输入三维数据的每个应用滤波器的部分展平为一行得到输入数据矩阵,将每个滤波器展平为一列得到权重矩阵,再将输入数据矩阵与权重矩阵相乘得到二维的中间数据,最后将二维中间数据reshape为三维输出数据。(其中展平三维数据至二维数据用到了im2col函数。这种降维的方法可以有效利用线性代数库,以实现高效的运算)i...

2020-02-08 11:48:21 1147

原创 深度学习笔记---池化层简单介绍

# 1.池化的基本概念池化是缩小高、长方向上的空间的运算。下图是Max池化的一个例子,将2*2的区域集约成一个元素。上述池化过程:按照步幅为2的间隔,依次对每一个2*2的区域取最大值,并将结果存到对应位置。一般来说,池化窗口的大小会和步幅设为相同的值。除了Max池化,还有Average池化等。Average池化就是计算目标区域的平均值。但在图像识别领域,主要使用Max池化。...

2020-02-06 13:22:32 1720

原创 pip install 第三方库出现ReadTimeoutError: HTTPSConnectionPool

网上看了很多解决方案,很多都是用设置超时范围解决的就是这样pip --default-timeout=100 install -U 第三方库名但是我运行安装matplotlib时候只不过是运行的时间变长了,但结果依然是ReadTimeError又或者是更新pip版本,但结果依然是ReadTimeError又或者是下载安装包...(要付费...)后来我将命令改为cond...

2020-02-05 22:00:03 177

原创 深度学习笔记---卷积层运算

# 1.二维数据的卷积运算(对应图像的通道数为1时)直接上图最上方一行表示的是运算总过程,第一个框是输入数据,第二个框是滤波器(权重),它们之间是卷积运算符,第三个框是输出数据。后面四行展示该例卷积运算的分步骤实现:间隔一行或一列,逐步应用滤波器(应用滤波器就是将输入数据的灰框部分与滤波器进行乘积累加运算),然后将计算结果输出到对应位置。# 填充的概念在进行卷积层的处理之前...

2020-02-05 09:59:02 2191 1

原创 深度学习笔记---简单卷积神经网络的整体结构

# 1.从普通神经网络到CNN# 基于全连接层(Affine层)的5层神经网络结构图的例子# 基于CNN的5层神经网络结构图的例子从上图可见,CNN(卷积神经网络)中的计算层新增了卷积层(Convolution)和池化层(Pooling)。前3个隐藏层将Affine-ReLU结构替换成了Conv-ReLU-(Pooling)结构,最后一个隐藏层依然是Affine-ReLU结构,...

2020-02-03 11:42:45 1485 2

原创 深度学习笔记---误差反向传播法版 对MNIST数据集的二层神经网络的学习实现

# 1.神经网络的学习前提和步骤前提神经网络存在合适的权重和偏置。步骤一(挑选mini-batch)从训练数据中随机选出一部分数据,这部分数据称为mini-batch。我们的目标是减少mini-batch这部分数据的损失函数的值。步骤二(计算梯度)为了减小mini-batch这部分数据的损失函数的值,需要求出有关各个权重参数的梯度。步骤三(更新参数)将权重参数沿梯...

2020-01-31 16:07:20 1057 1

原创 深度学习笔记---在计算图思想下实现简单神经网络的各个计算层

# 1.导入在上篇博客中,例子z = (x+y)^2的计算层就是两个节点。二层神经网络利用计算图的思想可以按照如下简单表示上图中的黑色框均表示计算层,Affine表示加权和层,ReLU表示ReLU激活函数层,SoftmaxWithLoss表示Softmax激活函数和Loss损失函数的组合层。# 2.用Python实现各个计算层1.Affine层的实现求加权和的过程就...

2020-01-31 14:50:22 872

原创 深度学习笔记---利用计算图的正向传播和反向传播高效地计算导数

# 1.计算图的正向传播与反向传播计算图计算图就是一种表示计算过程的数据结构图。计算图通过节点表示某种运算,用带箭头的边表示运算的方向,箭头上标有与运算相关的数据。上图就是一张计算图。正向传播上图中黑色箭头表示的就是正向传播。将输入数据x通过某种运算f转化为输出数据y,再传给下一个节点(或输出为最后结果)。反向传播上图中灰色箭头表示的就是反向传播。沿着与正向传播相反的方...

2020-01-30 19:13:57 1224

原创 深度学习笔记---数值微分版 对MNIST数据集的二层神经网络的学习实现

# 1.神经网络的学习前提和步骤前提神经网络存在合适的权重和偏置。步骤一(挑选mini-batch)从训练数据中随机选出一部分数据,这部分数据称为mini-batch。我们的目标是减少mini-batch这部分数据的损失函数的值。步骤二(计算梯度)为了减小mini-batch这部分数据的损失函数的值,需要求出有关各个权重参数的梯度。步骤三(更新参数)将权重参数沿梯...

2020-01-30 11:50:27 1054

原创 深度学习笔记---简单神经网络的求梯度介绍

先构造一个如下图所示的简单神经网络图中的直线均表示从左到右的箭头。我们的目标是求字典型变量grads,grads['W']表示损失函数关于权重W的梯度,grads['b']表示损失函数关于偏置b的梯度。如下图所示我们构造一个神经网络类simpleNet来实现求梯度的的目标,代码如下所示import sys,ossys.path.append(os.pardir)imp...

2020-01-29 17:41:38 1047

原创 深度学习笔记---梯度法简单介绍与实现

# 1.导入偏导数详细介绍参考百度百科https://baike.baidu.com/item/%E5%81%8F%E5%AF%BC%E6%95%B0/5536984?fr=aladdin求f(x0,x1,x2)关于x0的偏导数,就是将x1,x2看作常数再对x0求导。利用定义求偏导可用如下数学式表示这也就是数值微分。数值微分就是利用微小的差分求导数的过程。梯度详细介...

2020-01-29 13:19:27 1700

原创 深度学习笔记---交叉熵误差函数介绍(深度学习的指标)

# 1.导入机器学习中,一般将数据分为训练数据和测试数据两部分来进行学习和实验。首先,使用训练数据进行学习,寻找最优的参数;然后,使用测试数据评价训练得到模型的实际能力。神经网络的“学习”是指从训练数据中自动获取最优权重参数的过程。损失函数是表示神经网络性能“恶劣程度”的指标,即当前神经网络对监督数据(训练数据)多大程度上不拟合。简单来讲,就是损失函数值越小,代表权重参数越优。...

2020-01-28 19:04:52 2293

原创 深度学习笔记---对MNIST数据集实现神经网络的推理处理

# 1.简要概述对MNIST数据集的介绍与使用以及三层神经网络的推理实现,前面的文章已分别有详细介绍。本篇博客例子中使用到的神经网络依然是三层神经网络,不过各层的神经元数根据应用实例有所变化。输入层有784个神经元,对应一张图像的784个像素。(MNIST数据集中图像大小为28*28=784)输出层有10个神经元,对应数字0到9这十个分类。隐藏层1有50个神经元,隐藏层2有10...

2020-01-28 14:12:18 1805 1

原创 深度学习笔记---MNIST数据集的介绍以及下载使用

# 1.MNIST数据集简介1.MNIST数据集即MNIST手写数字图像集,是机器学习领域非常经典的一个数据集。2.MNIST数据集由0到9的数字图像构成。训练图像有六万张,测试图像有一万张。这些图像可以用于学习和推理。3.MNIST的图像数据是28px*28px的灰度图像,各个像素的取值在0到255之间。每个图像都相应地标有“0”、“1”、“2”、“3”、“4”、“5”...等标签。...

2020-01-28 11:58:43 5309 4

原创 深度学习笔记---三层神经网络的推理过程实现(前向处理)

# 1.三层神经网络推理过程示意图上图从左到右依次是输入层、隐藏层1、隐藏层2和输出层。由于有权重的只有三层,故称之为三层神经网络。x1,x2表示整个神经网络的输入信号,y1,y2表示整个神经网络的输出信号。内含1的神经元以及bij标识是为了表示偏置,bij表示第i层偏置的第j个元素。比较大的神经元中aij表示它的输入信号,zij表示它的输出信号。图中的直线均表示从左到右的箭头,各...

2020-01-27 15:55:28 3207

原创 深度学习笔记---神经网络输出层的激活函数简介

# 1.导入神经网络可以用在分类问题和回归问题上。分类问题:数据属于哪一个类别的问题。 回归问题:根据某个输入预测一个数值(连续的)的问题。一般而言,分类问题用softmax函数,回归问题用恒等函数。# 2.恒等函数的介绍及其实现恒等函数会将输入按原样输出。恒等函数的实现如下:def identity_function(a): return a# 3.softm...

2020-01-27 14:24:01 2034

原创 深度学习笔记---激活函数介绍(从感知机到神经网络)

# 1.导入感知机的数学式可以如下表示:上述h(x)函数会将输入信号的总和转换为输出信号。这就是一种激活函数。激活函数的作用在于决定如何来激活输入信号的总和。上述激活函数h(x)被称为阶跃函数,输出的切换是很剧烈的很突然的。如果将激活函数从阶跃函数换成其他平滑变化的函数,就进入神经网络范畴了。# 2.sigmoid函数简介及其实现神经网络中经常使用的一个激活函数就是如下...

2020-01-26 17:05:23 949

原创 深度学习笔记---感知机简单概述

感知机是具有输入和输出的一个算法。感知机将权重和偏置设定为参数。# 一个具体的单层感知机的介绍该感知机的图形化表示:该感知机的数学式表示:该感知机接收x1,x2两个输入信号,输出y。b是被称为偏置的参数,用于控制神经元被激活的容易程度;而w1和w2是表示各个信号的权重的参数,用于控制各个信号的重要性。# 关于感知机的一些其他概念1. 感知机可以表示与门和或门等逻...

2020-01-26 15:25:29 306

原创 深度学习笔记---Matplotlib的简单应用

在深度学习的实验中,图形的绘制和数据的可视化非常重要。Matplotlib是用于绘制图形的库,使用Matplotlib可以轻松地绘制图形和实现数据的可视化。# 1.绘制简单图形我们通常使用matplotlib的pyplot模块绘制图形。下面是一个绘制sin函数曲线的例子。import numpy as npimport matplotlib.pyplot as plt # 将mat...

2020-01-26 12:25:40 236

原创 深度学习笔记---NumPy数组

NumPy的数组类(numpy.array)中提供了很多便捷的方法,在实现深度学习时,我们将使用这些方法。# 1.导入NumPyimport numpy as np这条语句就是“将numpy作为np导入”的意思。通过写成这样的形式,之后NumPy相关的方法均可通过np来调用。# 2.生成NumPy数组A = np.array([1,2,3])np.array()接收Py...

2020-01-26 11:43:21 506

原创 有关信号处理的程序解析

#用alarm函数发送信号进程可以通过调用alarm函数向它自己发送SIGALRM信号例子1:#include "csapp.h"int beeps = 0; //定义全局变量beeps并赋初值0,用于计数 /* SIGALRM handler */void handler(int sig) { //信号处理程序handler,入口参数为整型的信号编号,无返回值 s...

2019-12-04 22:15:53 515

原创 有关系统IO的程序解析

#读取文件元数据应用程序能通过调用stat和fstat函数,检索到关于文件的信息(有时也称为文件的元数据)函数声明如下#include <unistd.h>#include <sys/stat.h>int stat(const char *filename,struct stat *buf);/*第一个参数为待读取文件的文件名(加了const表示不能修改...

2019-12-03 11:54:51 153

原创 有关fork调用的程序解析

#例子1(有关waitpid函数)​#include <sys/types.h>//定义了pid_t为int#include <sys/wait.h>//定义了waitpid函数#include <stdio.h>//定义了printf函数#include <unistd.h>//定义了fork函数#include <stdlib...

2019-11-06 20:05:38 243

原创 共享库链接实例详解

#简述共享库概念共享库是致力于解决静态库缺陷的一个现代创新产物。共享库是一个目标模块,在运行或加载时,可以加载到任意内存地址,并和一个在内存中的程序链接起来。这个过程称为动态链接,是由一个叫作动态链接器的程序来执行的。共享库也称为共享目标,在Linux系统中通常用.so后缀来表示。在Windows系统中通常用.dll后缀来表示。#实例源程序addvec.cint addcnt =...

2019-10-04 16:36:34 515

原创 静态库链接实例详解

#简述静态库概念所有的编译系统都提供一种机制,将所有相关的目标模块打包成一个单独的文件,称为静态库(后缀名为.a)。它可以用作链接器的输入。当链接器构造一个输出的可执行文件时,它只复制静态库里被应用程序引用的目标模块。#实例源程序addvec.cint addcnt = 0;//定义全局变量addcnt,用于记录向量加调用的次数void addvec(int *x,...

2019-10-04 16:05:21 433

原创 ELF可重定位目标文件详解

#(1)典型的ELF可重定位目标文件(由一个ELF头,若干节和一个节头部表组成),如下图所示摘自百度图片。#(2)实例源程序main.cint sum(int *a, int n);//声明sum函数,入口参数是一个整型指针变量a和一个整型变量n,返回值为整型int array[2] = {1, 2};//定义了一个含两个元素的整型全局数组array,并完成初始化in...

2019-10-04 12:03:58 767

原创 快速排序详解(C语言)

#快速排序是对起泡排序的一种改进。快速排序的基本思想:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分进行上述排序,直到整个序列有序。#本博客采用如下顺序存储,0号单元留空typedef struct{ int *r; int length; int listsize;}SqList;//定...

2019-08-19 10:45:25 588

原创 从直接插入排序到希尔排序

#希尔排序是一种属插入排序类的方法。它的基本思想是:先将整个待排记录序列分割成为若干子序列,分别对其进行直接插入排序,不断重复上述步骤,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。#本博客采用顺序表结构体如下,0号单元留空typedef struct{ int *r; int length; int listsize;}SqList...

2019-08-16 11:20:06 93

原创 KMP算法解析以及手工计算next函数方法

KMP算法的原则:每当匹配不相等时,主串中i指针不变,模式串中j指针移动到恰当的位置。本博客仍旧采用如下定长顺序存储,数组的0号单元用于存放字符串长度。#define MAXSTRLEN 255//宏定义串的最大长度MAXSTRLEN为255typedef unsigned char SString[MAXSTRLEN + 1];//定义SString为无符号字符数组类型,数组长度为2...

2019-08-08 18:19:49 2105

原创 暴力匹配算法的定长顺序存储实现

#define MAXSTRLEN 255//宏定义串的最大长度MAXSTRLEN为255typedef unsigned char SString[MAXSTRLEN + 1];//定义SString为无符号字符数组类型,数组长度为2561.本实验研究串的模式匹配,不用考虑符号,所以将数组元素定义为unsigned char类型2.数组中0号单元用于存放字符串长度,这样使得字符串中元...

2019-07-25 16:24:10 189

原创 datalab详细解析

本博客参考了链接https://blog.csdn.net/qq_42792383/article/details/86824293特在此鸣谢。以下为datalab的部分解析:​//1/* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Legal ops: ~ & ...

2019-05-30 21:20:22 7032 1

原创 showbytes.c详细解析

以下为我在lofter上的博客链接http://wusong690.lofter.com/post/2046a0f9_12e489d0f

2019-05-26 13:17:22 529

原创 fun.c详细解析

以下为我在lofter上的博客链接http://wusong690.lofter.com/post/2046a0f9_12e48a4f7

2019-05-26 13:15:32 322

原创 bufdemo.c详细解析

以下为我在lofter上的博客链接http://wusong690.lofter.com/post/2046a0f9_1c5c0088d

2019-05-26 13:13:25 133

原创 fsum.c详细解析

以下为我在lofter上的博客链接http://wusong690.lofter.com/post/2046a0f9_1c5c076b6

2019-05-26 13:10:34 182

原创 runaway.c详细解析

/* Example of deep recursion */#include <stdio.h>#include <stdlib.h>int recurse(int x)//声明并定义函数recurse,入口参数为整型变量x,返回值类型为整型//该函数为递归函数 { int a[1<<15]; /* 4 * 2^15 B *///定义一个...

2019-05-26 12:51:01 288

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除