小白也能看懂的BP反向传播
BP过程中,更新公式长什么样?
众所周知,BP过程中通过权值的不断更新,使得神经网络的输出向groundtruth靠近。
开门见山,直接看图,这部分是为==后面==做铺垫,很简单昂~
我们随机给输入a,b添加一个随机值,然后用步长step来控制增加速度,看python代码:
1234567891011121314import randomdef multiply(a, b): return a * bdef func(): a = 5 b = 6 step = 0.01 a = a + step * (random.random()) b = b + step * (random.random()) print(multiply(a, b))func()
运行程序,输出30.023996846498836,比30大,但是如果继续测试,会出现问题,速看如下代码:
123456789def func(): a = -5 b = -6 step = 0.01 a = a + step * (random.random()) ...
卷积神经网络(CNN)辅助入门理解
如果开始看CNN了,相信大家对于神经网络的基础已经有了一些了解了,那么今天我们就来感性的理解下CNN,尽可能少整数学公式,让在座各位兄弟在学习工作之余,嗑个瓜子,吃根冰棍的同时也能看懂CNN,但是在编程过程中,数学公式可是必不可少的嗷~
CNN简介
这个CNN,不是美国有线电视新闻网,是卷积神经网络(Convolutional Neural Networks)。此概念在195x年被两个研究小猫大脑的美国老铁提出,他们发现这种结构可以极大简化小猫识别物体所需要的神经网络结构。随着近些年深度学习的火热,CNN也得到了广泛的应用。今天的任务是:知道CNN每一步工作原理,为什么CNN简化了神经网络,以及CNN进一步的思考。
首先来看下卷积是啥,提起卷积,我脑中莫名会想起小时候吃的大大卷
其实呢,卷积就是两个变量在某范围内相乘后求和的结果。
一开始看CNN,我迷茫地像个两百多斤的孩子一样,机械地接受着知识,神马卷积层池化层,一层层叠,然后又来几个全连接层,然后,然后好啦?对啊,我知道池化卷积都是干什么的,可是真正一步步的实现是怎样呢?高大上的论文,教程都不详细说明,仿佛受众都是深度学习老司机 ...
日常碰到的小bug(不定期更新)
作为一个日常踩坑的程序员,避免不了经常性的遇到同样的小bug,不定期记录自己的踩坑时刻。
解决error mounting dev sdb1 at media command-line exfat 问题
在Ubuntu16.04插入U盘,无法识别,并弹出如下提示框:
1error mounting ... dev sdb1 at ... media command-line ... exfat
解决办法:
安装如下包:
1sudo apt-get install exfat-fuse exfat-utils
一般运行完上述命令,拔出U盘重新插入,就可以了
解决Mac上plt画图中文无法显示的问题
系统:MacOS Catalina 10.15.4,python:3.7.6
在网上找到了很多,基本都是让下载SimHei字体,然后放到plt的字体库,然后配置,然而。。。没用
搞这么麻烦,为什么不直接找找Mac下到底支持哪些字体不就好了嚒,然后发现Arial Unicode MS,亲测可用,代码如下:
plt.rcParams['font.sans-serif'] = ['Arial U ...
Ubuntu16.04下安装cuda和cudnn(亲测有效)
上一篇博客讲述了Ubuntu16.04下如何安装显卡驱动,这篇继续讲述如何安装cuda和cudnn。首先安装之前首先要确认你需要安装的cuda和cudnn版本
cuda的安装
1.下载cuda安装文件。按照你的系统配置选择安装包,例如我安装的是cuda9.0,那么选择Linux,x86_64,Ubuntu,16.04,最后一个Installer type 选择runfile(local)或者deb(local)都可以,我选择的是deb(local),下面会分别给出相应的安装过程。
2.1 deb(local)安装
进入到deb(local)位置,我的是放在Download路径下,在此路径下打开终端,输入
123sudo dpkg -I cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.debsudo apt-get updatesudo apt-get install -y cuda
2.2 安装完毕之后,设置环境变量。打开bashrc文件,将cuda路径写入
1sudo vim ~/.bashrc
按i进行编辑,把以下3个路径粘贴到bash ...
Ubuntu16.04下安装NVIDIA显卡驱动
Ubuntu16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
第一步, 禁用nouveau
编辑文件blacklist.conf sudo vim /etc/modprobe.d/blacklist.conf
若未安装vim, 则 sudo apt-get install vim安装
在文件最后部分插入以下两行内容
12blacklist nouveauoptions nouveau modeset=0
更新系统 sudo update-initramfs -u
重启系统(一定要重启)
验证nouveau是否已禁用 lsmod | grep nouveau
没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。
第二步, 在英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动。网址:NVIDIA官网
我下载的版本:NVIDIA-Linux-x86_64-430.50.run(注意不同的版本最后安装执行的具体选项不同)
下载后的r ...
手把手教你使用hexo搭建个人博客并部署到远端(Mac版)
前言
Hexo+GitHub的好处:
全是静态文件,访问速度快;
免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台;
数据绝对安全,基于github的版本管理,想恢复到哪个历史版本都行;
博客内容可以轻松打包、转移、发布到其它平台;
出现问题的话,网上解决这种问题的方案比较多,等等;
开始搭建
安装node.js(网址:nodejs.org)下载LTS长期支持版,安装。
打开terminal,切换到root用户,输入$ sudo su,输入密码,
安装cnpm包管理器,输入 (-g 表示全局安装) 1$ npm install -g cnpm --registry=https://registry.npm.taobao.org
用cnpm安装hexo,输入 (hexo -v 查看当前版本) 1$ cnpm install -g hexo-cli
新建名为blog的文件夹,所有blog相关的文件都在这个文件里面,如果出错,直接干掉这个文件夹就可以了。 输入$ mkdir blog
进入blog文件夹 输入$ cd blog/,使用hexo进行安装博 ...