人工神经网络(ANN)提供了一种普遍而且实际的方法从样例中学习值为实数、离散值或向量函数。人工神经网络由一系列简单的单元相互连接构成,其中每个单元有一定数量的实值输入,并产生单一的实值输出。 上面是一个汽车自动驾驶神经网络学习的例子:下方的图像是网络的输入,通过4个隐藏单元运算,得到30个输出(图的上方)决定汽车的行驶方向。 本文主要介绍两种基本单元:感知器和线性单元的权值学习。 感知器(1)感知器原理 感知器是神经网络的一种基础单元。感知器以一个实数值作为输入,计算这些值得线性组合,如果大于某个阈值就输出1,否则输出-1。(其实就是一个符号函数) 感知器可以看做n维空间... Read More
《 让你的 Nginx 的 RTMP 直播具有统计某频道在线观看用户数量的功能》一文介绍了 Nginx 的在线统计模块。 我们的在线直播服务使用了 Nginx 的 Rtmp 模块(请参阅《 Nginx RTMP 模块 nginx-rtmp-module 指令详解》)。总体来讲,这个模块的功能稳定性和性能等方面都是很出色的。只要你的直播源头数据供给没问题,Nginx 的直播发布就 No Problem。 对于闲置频道,就是没人观看的直播频道,为了节省系统资源,我们进行了定时清理。那么怎么判定一个频道是闲置的呢?一开始我们使用了《 让你的 Nginx 的 RTMP 直... Read More
assert是一个宏定义,原型定义在中:#include void assert( int expression ); 其作用是:如果条件expression返回错误,则终止程序执行。使用assert的缺点是,频繁的调用会极大的影响程序的性能,增加额外的开销。 在调试结束后,可以通过在包含#include 的语句之前插入 #define NDEBUG 来禁用assert调用,示例代码如下: #include #define NDEBUG #include 用法总结与注意事项: 1)在函数的入口处,使用断言检查参数的有效性(合法性)。 2)每个assert只检验一个条件,因为同时检验多个条... Read More
1、当你用libcurlAPI来请求某些数据时,发现返回的数据是0,这时候你就要去尝试用CURLOPT_REFERER来伪造一个来路页面;具体设置什么值可以通过浏览器来获取:按f12,在network里面查找;curl_easy_setopt(curl, CURLOPT_REFERER, "http://*****"); Read More
把这个写出来是不是就意味着把 http://www.hacker.org/push 这个游戏打爆了? ~啊哈哈哈其实只要找到一个就可以退出了 所以效率也不算很低的 可以直接DFS呀呀呀呀#include #include #include #include #include #include using namespace std;int dx[] = {-1,1,0,0};int dy[] = {0,0,1,-1};vector ans;int n,m;char map[30][30];char t[30][30];bool found;void copy() //每一次都需要复制一下... Read More
掌握该技术最根本的是需要搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则,不然,在已经存在成全上万trc文件的生产环境中,要想快速正确的找到跟踪其他SESSION产生的trc文件就如大海捞针。 跟踪其它session,一般是根据sid+serial#进行跟踪,但trc文件生成的名称跟SID和Serial#无关系,只是根SPID有关系而已。 所以,搞清楚session跟踪文件存放的路径和生成跟踪文件的命名规则就非常重要了,下面来介绍一下。1、 SESSION跟踪文件存放的路径由数据库的user_dump_dest参数所决定,例如:SQL> show paramete... Read More
Problem D Prince and Princess Input:Standard InputOutput:Standard OutputTime Limit:3 SecondsIn ann x nchessboard, Prince and Princess plays a game. The squares in the chessboard are numbered1, 2, 3 ... n*n,as shown below: Prince stands in square1, makepjumps and finally reach squaren*n. He enters a. Read More
http://pat.zju.edu.cn/contests/pat-a-practise/1055 第二组数据比较大,如果单纯排序直接检索会超时,因为每次都是对所有数据进行遍历。N/200=500,说明同一年龄最多可以有500个人,而M=100比较小,意味着同一年龄100以后的人都不会被搜到。#include#include#include#include using namespace std;struct node{ char name[10]; int age,worth;}a[100005];int b[20005];int c[205];bool cmp2(const node&a Read More
Caching(缓存)在现代的计算机系统中是一项最古老最基本的技术。它存在于计算机各种硬件和软件系统中,比如各种CPU, 存储系统(IBM ESS, EMC Symmetrix…),数据库,Web服务器,中间件等。它的一个重要的作用就是用于弥补不同速度的硬件之间的存取速度的差距,cache可以完全通过硬件实现(算法也是通过硬件实现的),也可以通过在更快硬件上通过软件控制来实现。EMCSymmetrix之所以如此的昂贵,就是因为在这个系统中,提供了一个640G全相连的高速数据缓存(DRAM缓存),完全用硬件实现,就像一个放大版的CPU一级缓存。Caching技术对于现代计算机系统之所以如此重要, Read More
每当我们讨论缓存时,总是会对如下几个词比较熟悉,Write-back, write-through, write-around似乎,缓存主要是为“写”设计的,其实这是错误的理解,写从缓存中获得的好处是非常有限的,缓存主要是为“读”服务的。之所以我们要顺带提一下,在一个缓存系统中,如何处理写的顺序,是因为,在写的过程中,需要动态的更新缓存(否则就会产生数据不一致性的问题),以及后端主存。这三个词都是用来表示如何处理写更新的。就是用什么方式来处理写。在一个有缓存的层次结构中,如何理解缓存是为“读”服务的?这涉及到读请求的处理序列。对于每一个读请求,我们都会用如下的操作序列去处理它:1.在缓存中查找 Read More