- 博客(23)
- 收藏
- 关注
原创 使用 markdown/html 写latex by jupyter
前言学latex半年了,感觉心好累好多东西记不住(毕竟不是天天用(谁会天天用这个啊))然后觉得,这个东西就跟汇编一样,还是不够抽象,那么应该存在一个c所以如何使用jupyter写latex呢jupyterjupyter 太好用啦语言python,R,haskell…报告本身可以写markdown,而markdown兼容html,而且里面还可以用latex写公式pptjupyter可以写ppt!可以用
2017-06-09 21:14:35 5003
原创 Kmeans python 可视化
就是用PLT, 上一篇中主要写了kmeans图像分割的算法主体 这里对他做可视化 可视化两个函数, 第一个是visualize,遍历一遍不同的K值的图像,每个暂停0.7s,嘿嘿嘿可以做动画第二个是交互式的inter_vis 写了两个按钮,+K和-K。嗯就是这样,UI果然好麻烦。以后还是少写,感觉代码风格都变丑了from scipy.misc import imread,imshow
2017-05-14 11:45:10 1434
原创 Kmeans 图像分割 by python
依然是神奇的numpy boardcast!!! > 输入:k,data[n]; (1) 选择 k 个初始中心点,例如 c[0] = data[0], ……,c[k-1]=data[k-1]; (2) 对于 data[0],……,data[n],分别与 c[0],……,c[k-1]比较,假设 c[i]差值最少,就标记为 i; (3) 对于所有标记为 i 点,重新计算 c[
2017-05-13 16:57:07 1608
原创 convolution by numpy
手动实现一个卷积其实就是数字图像处理的作业= =其实有时间的话想搞一下im2col,不过也没啥用,应该直接用框架就好了计算公式 输入图片大小 W×W Filter大小 F×F 步长 S padding的像素数 P N = (W − F + 2P )/S+1 padding = ‘SAME’ => W = N S(W-1) = W-F+2P P = ((S-1)W-S+F)/2
2017-04-05 22:25:18 1011
原创 最大子数组 by Haskell
FIND-MAXIMUM-SUBARRAY算法导论中文第三版p42页习题4.1-5 非递归的线性时间的最大子数组算法 。。。然而Haskell没循环啊。。。,我这种写法也算书中描述的吧。。。?不过这道题就已经很体现函数式的优势了,写这种题太爽了,一共四行(我没算声明)。完全入坑最气的是这道题在codewars上有问题,test全过但是因为一个Tab不让submit!难得做一道5kyu的题,下次
2017-04-03 18:01:55 575
原创 rule30 Haskell
rule30codewars上挺好玩的一道题,可以用来生成随机数, 规则:好气喔markdown表格反人类,给个wiki吧 wiki的解释 下图为迭代过程!题目在这里! codewars haskell rule30 code x = [x!!(i-1)*4+x!!i*2+x!!(i+1)|i<-[1..(length x-2)]]extend t = 0:t++[0]ite :: [In
2017-03-28 22:43:30 1078
原创 tensorflow 源码编译遇到的坑坑坑坑坑坑坑坑
前言 强烈推荐cuda8.0+cudnn5+ 然后直接pip安装!源码编译非常费劲 很多坑 de的我都意识模糊了配置:ubuntu14,cuda7.5,cudnn版本未知(应该是5吧)安装tensorflow 1.0.1-gpu需要准备一台能翻墙疯狂google github issues的电脑因为是cuda7.5还是公用服务器。被迫源码编译进入主题 clone 要从github下载zip文件
2017-03-28 22:40:28 9928 1
原创 KNN-PCA mnist
I’ll write it tomorrow.# -*- coding: utf-8 -*-"""Created on Fri Oct 14 22:32:18 2016@author: ryan"""# -*- coding: utf-8 -*-"""Created on Wed Sep 7 00:19:48 2016@author: ryanIn this program I use
2017-03-22 19:52:33 568
原创 chaos python 直方图均衡化
直方图均衡化是一种增加图片对比度的手段。之前学过一段时间Haskell. 函数式贼好玩,于是python现在开始瞎写。 欢迎交流各种实现方法!我CUDA写不出来(share memory写的有问题),写出来求交流 总的来说就是三步: 1.对图片求直方图 2.对直方图均衡化(使用累计分布函数) 3.映射回原图像 累计分布函数: 先看代码。。。import matplotl
2017-03-21 16:04:35 423
原创 图像旋转(matlab)
原理 没啥好说的 就一个矩阵乘法。浏览器没装latex,所以意思一下A = [cos(alpha) sin(alpha) 0; -sin(aplha) cos(alpha) 0; 0 0 1];newij = A*[i;j;1]; 就是坐标转化公式 newij 为新坐标,i,j 为旧坐标 注意要使用uint8强制转换才能imshow掉 这样计
2017-03-09 11:01:39 902
原创 tensorflow update
GPU Server: Past: 0.8 to 1.0 cuda7.5,cudnn5+but it doesn’t matter. use pip update automatically.pip install -U tensorflow --user -i https://pypi.tuna.tsinghua.edu.cn/simpleand because of the networ
2017-02-22 22:10:40 364
原创 神经网络(vanilla ver.) in numpy
写在最前vanilla neural network 学习材料有好多 前年年都是用MATLAB写的,写的还挺丑,后来用tensorflow写把底层细节都盖住了。 这里是一个只用numpy实现的版本学习材料的话。MATLAB推荐王小川的 45个神经网络案例 第一章 数学推导推荐吴恩达的Ufldl 反向传导算法细节activation function 的求导比较有技巧sigmoid : 1
2017-02-08 13:32:31 2167
原创 C++基数排序另一种实现
1.04497 1.65082Press ENTER or type command to continuePress ENTER or type command to continue 11.9672 16.6019Press ENTER or type command to continue ryan@Aeolian:~/VIM$ vim sort.cpp Press
2017-02-04 13:45:26 448
转载 git 误传大文件如何删除
背景最近刚开始学git,虽然确实是用来做项目,但是老忍不住当百度云盘用= = 于是不小心传了一个1.7GB的数据集上去,git add 和git commit 都没毛病(虽然等了很久), git push 不上去了。 然后想删掉对策$ du -hs4.8G先感受一下。确实出大事了,因为版本管理的原因1.7G被保存了两遍git filter-branch --tree-filter 'rm
2017-01-20 17:58:52 1092
原创 基于C++11 CPU多线程的 奇偶排序(没有CUDA)
写的不一定对!错了求指正!前言这篇是用C++11 的 thread 做的。 编译大概是g++ sort -O3 -pthread -std=c++14 -o sort其实还没学c++14最近开始学CUDA,感觉线程具体怎么用和硬件是直接相关的, 不同架构啊不同精度啊使用线程的方式都应该不同。这篇博客就是个实验,用CPU实现一下奇偶排序为日后与CUDA做比较一直是CPU和GPU一起学的。二者都支持
2017-01-14 21:51:33 842
原创 CUDA从组成到编程(二) Hello World!
首先是官网给的向量加法的例子。 我的环境是ubuntu16, cuda7.5 先是常用命令:这个的作用是使用自带的工具每0.5s刷新一下GPU的状态,可以作监控用$ watch -n 0.5 nvida-smi检查cuda编译器是否安装正确$ which nvcc检查GPU型号$ ls -l /dev/nv*编译与运行$ nvcc hello.cu -o hello$ ./hello#i
2016-12-31 18:53:06 848
原创 组成:GPU与CPU的比较
GPU与CPU的比较不管是CPU还是GPU都是很高速的设备,然而从主存中取数据会很慢很慢,为了充分利用高速设备,二者都使用了缓存,编程一定要考虑的是计算机程序的局部性(locality)的基本属性—–时间局部性与空间局部性。多核时代和GPU并行运算时代来临,另外一个影响程序运行的速度的关键因素—–缓存一致性(Cache Coherency)。这些CPU和GPU都有一些区别,深入底层才能写出更高效的代
2016-12-31 14:02:36 1566
原创 Kaggle 数据集下载
kaggle数据集一般比较大,比如这次dstl更是达到22GB。国内连kaggle下载经常会断。尤其是kaggle需要认证才能下载,直接点击链接就是浏览器下载于是对策:1.wget wget -x --load-cookies cookies.txt -P data -nH --cut-dirs=5 https://www.kaggle.com/c/dstl-satellite-imagery-fe
2016-12-31 13:56:15 18684 4
原创 线性回归 numpy normal equation & tensorflow gradient descent
Linear Regression最简单的线性回归就是求出w,b使得 y = w x + b与真实值均方误差最小 于是很直接的可以直接令cost fuction 导数等于0, 然后就有可以求出closed solution 唯一需要注意的是把b吸收进w中 也就是 X = [X,1], Y = W * X 方便计算train_x = (np.arange(10000)
2016-12-18 20:55:26 585
原创 CSAPP: 反汇编
这篇好好说话 c -> 汇编 -> 机器语言 二进制的 .o 文件可以通过objdump反汇编成汇编代码,然后就可以通过汇编代码仔细地考察c代码的效率啦 从效果上来说感觉对应地还不错 书上的例子:int accum = 0;int sum(int x,int y){ int t = x + y; accum += t; retu
2016-12-14 21:01:33 792
翻译 Pythonic machine learning:KNN
搬运自 YouTube:PyCon2015python 是一门优雅的语言,尽量少使用循环,选择结构 KNN是一个很简单的算法,这里不再介绍 特别的,nearest neighbor 是k=1时的特殊情况 如何使用numpy 中的broadcast机制优雅地实现呢?numpy broadcast官方文档 Losing your Loops Fast Numerical Computing
2016-12-08 22:24:15 507
原创 学习笔记:Network in Network(NIN)
1. Overview1. 1×1卷积核2. MLP Convolution Layers3. Global Average Pooling1*1 卷积核传统卷积核最小是3×3,这样还能保证所有方向,而这里的卷积核有说是相当于全连接,原文中的解释是对输入的feature map的加权线性重组,目的是跨通道的复杂和可学习的信息交互。也是因为这种操作只对通道运算,与空间无关。比较极端的一个例子:如果1
2016-11-15 22:32:07 1450 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人