include

卷积神经网络(CNN)之一维卷积、二维卷积、三维卷积详解

你离开我真会死。 提交于 2020-03-27 01:27:28
1、卷积的数学意义   从数学上讲,卷积与加减乘除一样是一种运算,其运算的根本操作是将两个函数的其中一个先平移,然后再与另一个函数相称后的累加和。这个运算过程中,因为涉及到积分、级数的操作,所以看起来很复杂。在 卷积(转自wiki百科) 中已经讲过了卷积的定义如下所示: 对于定义在连续域的函数,卷积定义为 对于定义在离散域的函数,卷积定义为   这里令U(x,y) = f(x)g(y) ,考虑到函数 f 和 g 应该地位平等,即变量 x 和 y 应该地位平等,一种可取的办法就是沿直线 x+y = t将U(x,y)卷起来。下面为t取实际值的时候的坐标图,可以看到不同取值的t可以遍历整个平面。   将x+y=t中t取一次定值(这个定值可能是我们想要知道的某时刻的结果或着某种特征,由我们赋值),代入到U(x,y)中,就相当于U(x,y)所在平面沿着x+y=t直线做一次旋转如下列动图所示:   这里便是完成了整个卷积的降维过程,完成降维过程后,U(x,y)也就从一个二元函数 U(x,y) = f(x)g(y) 被卷成一元函数 V(x)=f(x)g(t-x),最后再对x求积分(即遍历降维后的轴上的特征点之和)。 2、卷积的C语言编写   编写卷积的程序,需要根据其离散方程组来进行了解。前面已经知道了卷积的离散函数的定义公式为:    在用C语言等其他语言进行实现是可以采用定义

poj 1664 放苹果 递归

…衆ロ難τιáo~ 提交于 2020-03-26 19:57:07
题目链接:    http://poj.org/problem?id=1664 题目描述:   有n个苹果,m个盒子,盒子和苹果都没有顺序,盒子可以为空,问:有多少种放置方式? 解题思路:   当前有n个苹果,m个盒子。   (1):假设当前最少的盒子放置一个苹果,则给m个盒子分别放一个苹果,剩下n-m个苹果。   (2):假设当前最少的盒子不放苹果,则剩m-1个box,n个苹果。 代码:    1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <iostream> 5 using namespace std; 6 7 int f (int n, int m); 8 9 int main () 10 { 11 int t, n, m; 12 scanf ("%d", &t); 13 while (t --) 14 { 15 scanf ("%d %d", &n, &m); 16 printf ("%d\n", f(n, m)); 17 } 18 return 0; 19 } 20 21 int f (int n, int m) 22 { 23 if (n < 0)//没有苹果了,违法 24 return 0; 25 if (n == 0 || m == 1)//一个盒子,无论有几个苹果

C++ 元素计数 count()

这一生的挚爱 提交于 2020-03-26 09:07:09
C++ 元素计数 count() algostuff.hpp #ifndef ALGOSTUFF_HPP #define ALGOSTUFF_HPP #include <array> #include <vector> #include <deque> #include <list> #include <forward_list> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include <algorithm> #include <iterator> #include <functional> #include <numeric> #include <iostream> #include <string> //集合中添加元素 template <typename T> inline void INSERT_ELEMENTS(T& coll, int first, int last) { for (int i = first; i <= last; ++i) { coll.insert(coll.end(), i); } } //输出集合中的元素 template <typename T> inline void PRINT_ELEMENTS(const T&

C++ minmax_element

谁都会走 提交于 2020-03-26 09:06:22
C++ minmax_element 最大值 最小值 algostuff.hpp #ifndef ALGOSTUFF_HPP #define ALGOSTUFF_HPP #include <array> #include <vector> #include <deque> #include <list> #include <forward_list> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include <algorithm> #include <iterator> #include <functional> #include <numeric> #include <iostream> #include <string> //集合中添加元素 template <typename T> inline void INSERT_ELEMENTS(T& coll, int first, int last) { for (int i = first; i <= last; ++i) { coll.insert(coll.end(), i); } } //输出集合中的元素 template <typename T> inline void PRINT_ELEMENTS

javascript 常用验证函数

纵饮孤独 提交于 2020-03-25 07:34:14
javascript 常用验证函数 [ 2007-4-10 14:34:00 | By: ibrahim ] javascript 常用验证函数 一、验证类 1、数字验证内 1.1 整数 1.2 大于0的整数 (用于传来的ID的验证) 1.3 负整数的验证 1.4 整数不能大于iMax 1.5 整数不能小于iMin 2、时间类 2.1 短时间,形如 (13:04:06) 2.2 短日期,形如 (2003-12-05) 2.3 长时间,形如 (2003-12-05 13:04:06) 2.4 只有年和月。形如(2003-05,或者2003-5) 2.5 只有小时和分钟,形如(12:03) 3、表单类 3.1 所有的表单的值都不能为空 3.2 多行文本框的值不能为空。 3.3 多行文本框的值不能超过sMaxStrleng 3.4 多行文本框的值不能少于sMixStrleng 3.5 判断单选框是否选择。 3.6 判断复选框是否选择. 3.7 复选框的全选,多选,全不选,反选 3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 4.4 字符串替换函数.Replace(); 5、浏览器类 5.1 判断浏览器的类型 5.2

简单实现客户端服务端互联通信

点点圈 提交于 2020-03-25 03:12:31
 /*服务端程序*/ #include <stdio.h> #include <stdlib.h> #include<sys/types.h> #include<sys/socket.h> #include <string.h> #include <string.h> #include <arpa/inet.h> #include <netinet/in.h> #include <arpa/inet.h> #include <errno.h> int main(void) {   int sockfd,ret,newfd;   int readlen;   int theirlen;   char recv[100]={0};   struct sockaddr_in myaddr;   struct sockaddr_in theiraddr;   if((sockfd=socket(AF_INET,SOCK_STREAM,0)) < 0)   {     printf("socket failed(%s)\n", strerror(errno));     exit(0);   }   memset(&myaddr,0,sizeof(myaddr));   myaddr.sin_family=AF_INET;   myaddr.sin_port =htons(3490);  

阈值分割总结

戏子无情 提交于 2020-03-24 02:31:28
OSTU C++实现: #include <assert.h> #include "cv.h" #include "highgui.h" #include <math.h> #include <iostream> using namespace std; // implementation of otsu algorithm // author: onezeros(@yahoo.cn) // reference: Rafael C. Gonzalez. Digital Image Processing Using MATLAB void cvThresholdOtsu(IplImage* src, IplImage* dst) { int height=src->height; int width=src->width; //histogram float histogram[256]={0}; for(int i=0;i<height;i++) { unsigned char* p=(unsigned char*)src->imageData+src->widthStep*i; for(int j=0;j<width;j++) { histogram[*p++]++; } } //normalize histogram int size=height*width; for(int

头文件到底是干啥用的

浪尽此生 提交于 2020-03-23 22:46:20
题记:自己通过对工程的熟悉,理解的是头文件一般是对类的声明(成员函数与数据成员),或者对变量的声明,并没有具体实现某些函数,具体的函数要放在cpp文件中去实现。 目录 一、头文件 二、源文件 一、头文件 通过查找资料,明白自己的理解大方向还是正确的,但是缺少细节的理解。 头文件(.h) 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一 般来说不写出具体的实现。 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句 #ifndef CIRCLE_H #define CIRCLE_H class Circle { private: double r;//半径 public: Circle();//构造函数 Circle(double R);//构造函数 double Area();//求面积函数 }; #endif #pragma once 这个可以防止被多个文件同时包含,造成数据的混乱。 其中头文件可以细分为两类 系统头文件和自定义头文件。 1、 系统头文件 : 定义的都是系统级功能,正式因为有了它们,C++代码才可以在某种特定的系统上运行。如果你想在你的程序使用这些功能,就必须把相应的头文件包括到你的程序里来。 在#include指令里,系统头文件的文件名要放在尖括号里给出,这是告诉编译器:应该到“标准的”地点寻找这个文件:

Codeforces Round #372 (Div. 2)

五迷三道 提交于 2020-03-23 15:21:20
   A题,水题,但是因为我自己的写法没特判n是1导致WA了一次。   B题,直接用数组记录一下各个字母出现的次数即可,问号另外统计,然后每26个看看是否可行,如果可行那么其他的问号随便放就好。用map记录WA了一次,因为map里只要一个节点被用来记录过,然后被减到0,使用size()访问也会把这个节点计算在内的,需谨记。   C题,假设等级i时起始的数是a[i],由题意它是i的倍数。假设需要增加的数为ans[i],那么,a[i]+ans[i]*i=a[i+1]*a[i+1]。左边都是i的倍数,因此右边也一定是i的倍数,所以,a[i+1]同时是i+1和i的倍数。那么我们直接构造a[i+1]=i*(i+1),即a[i]=i*(i-1)即可。当然i=1的时候需要特判,是2(题目规定)。然后就很好求ans[i]了。   D题,好题。题意是给出一个图,和若干的边,其中权值为0的边是待定的边,问是否能够修改这些所有待定的边的权值(都变为一个正整数),使得s到t的最短路恰好为L。注意这题点的个数为n,因此可以考虑暴力的方法的。首先,不考虑这些待定的边,做s到t的最短路,得D,如果D小于L,显然答案是不可能的,如果等于L,那么待定的边都变为inf即可。否则,开始暴力。拿出所有的待定的边,让其权值变为1,再做s到t的最短路,如果新的D不比L大,那么这条边的权值再加上L-D即可

[AutoCAD二次开发][2017]Autocad2017 ObjectARX 开发 环境配置和踩到的坑

牧云@^-^@ 提交于 2020-03-23 13:07:48
碎碎念 不得不说autocad二次开发的相关资料真的少,大多数还很旧。图书馆里VBA的一本最近出版时间是2006,AutoLisp的2013(还是个十二五规划教材),ObjectARX的书是2014年出的,结果开发的是autocad2010,还配套VS2008,里面的内容也是......惨不忍睹...... 不过女朋友设计院的插件在AutoCAD2017上一用就崩也不是个办法(说实话用上2017就再也不想回2011了),只好自己找AutoCAD 2017的官方资料开搞。 首先是技术选型问题,就查找到的资料而言二次开发有三个流派,AutoLisp,VBA(ActiveX), Cpp/C#(.Net + ObjectARX)。AutoLisp不了解,目前主要是解决问题(实现那一用就崩的插件里的一个小功能,功能下文再详细叙述),暂时不打算从头开始撸Lisp。ActiveX的提供(据说)很少,VBA我也不是很熟,作为次要选择。那么首先就先试试ObjectARX的水。 正文 AutoCAD 2017 的官方开发文档地址: http://help.autodesk.com/view/ACD/2017/CHS/?home=homepage_dev 此外在Develop Center有 坑 学习资料。网址 http://usa.autodesk.com/adsk/servlet/index?id