CS231n 回顾与思考(一)

大三上学期突然入了深度学习的坑,明明还没从机器学习CS229的坑里爬出来就先放一边去了,有空还要去把机器学习的坑填上。当初学的时候忘了做笔记,因为做MIT6.828,结果CS231n有点忘了,现在来补一补笔记。 图像分类在学习 CS231n 的一开始,先介绍了图像分类的相关知识。首先图像一般是由3个颜色通道构成(红,绿,蓝),所以一张图片一般是个三维数组。图像分类有很多挑战,常见的是图像的拍摄点存在不同,图像的大小,物体的变形,光照影响,和背景颜色类似,同一物体的多种外形等等。所以其中有一种最简单的思路——最近邻分类器。     Continue Reading
Xin Qiu's avatar
Xin Qiu Feb 10, 2017

Tensorflow for Deep Learning 2

笔记2: TensorFlow Ops     Continue Reading
Xin Qiu's avatar
Xin Qiu Feb 02, 2017

Tensorflow for Deep Learning 1

    Continue Reading
Xin Qiu's avatar
Xin Qiu Jan 20, 2017

MIT 6.828 Lab 3

继续开始Lab3,用户环境。     Continue Reading
Xin Qiu's avatar
Xin Qiu Jan 17, 2017

MIT 6.828 Lab 2

继续开始Lab2,这部分内容可以回忆以前的CSAPP的malloc lab.     Continue Reading
Xin Qiu's avatar
Xin Qiu Dec 09, 2016

MIT 6.828 Lab 1

MIT 6.828 算是操作系统的经典课程,其中要求完成一个JOS的操作系统。在这之前,需要完成一些环境的安装。     Continue Reading
Xin Qiu's avatar
Xin Qiu Oct 15, 2016

算法导论动态规划学习

MathJax.Hub.Config({ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} }); 动态规划方法通常是用来求解最优化问题(optimization problem)。比起分治方法,动态规划对于子问题只求解一次,算是用空间换时间。 书中提到了设计动态规划算法的4个步骤: 刻画一个最优解的结构特此 递归地定义最优解的值 计算最优解的值,通常采用自底向上的方法 利用计算出的信息构造一个最优解     Continue Reading
Xin Qiu's avatar
Xin Qiu Oct 04, 2016

CSAPP Lab6 解题分析

Malloc Lab,据说是最难的一个lab。在看完第九章之后,因为要旅游,没有直接做lab,而是继续看书,结果回来了,书还剩1章,又顺势看完了剩余的部分。在整本书都读完了以后,才回过头来做Malloc Lab。 介绍需要完成mm.c里的内容,材料中需要完成的是 int mm_init(void) void *mm_malloc(size_t size) void mm_free(void *ptr) 其他的mm_realloc源码中已经填写好了。 这里,我是用书中的隐式空闲链表方法,先完成实验。     Continue Reading
Xin Qiu's avatar
Xin Qiu Aug 11, 2016

CSAPP Lab5 解题分析

这个实验是要实现一个简易的shell程序,主要考虑的是异常和信号的处理。 前期工作解压缩shlab-handout.tar,执行make clean | make,就可以得到编译好的文件。 文件夹中的tshref是正确的结果,可以用来验证。与其用 1./sdriver.pl -t trace01.txt -s ./tsh -a "-p" 来测试,我觉得实验手册里提到的另一种方法更好用, 1make test01 这是对自己写的tsh进行测试,要想对tshref进行测试,只需要在后面的test前面添加一个r即可,也就是make rtest01。     Continue Reading
Xin Qiu's avatar
Xin Qiu Jul 12, 2016

CSAPP Lab4 解题分析

MathJax.Hub.Config({ tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]} }); Lab4 的Cache Lab 的说明资料太少了,csim.c 里面空空的,惊了。身为弱渣的我只好先拿别人的代码来参考参考。这里选取的代码csim.c。 Part A: Writing a Cache Simulator需要些一个Cache模拟器,将 valgrind 内存访问记录作为参数,模拟是否命中缓存。输出命中,不命中,移除。 lab里提供了一个写好的程序 csim-ref ,使用LRU(least-recently used)替换原则,模拟缓存命中情况。 实验指导上给出了命令行参数 Usage: ./csim-ref [-hv] -s <s> -E <E> -b <b> -t <tracefile> -h: Optional help flag that prints usage info -v: Optional verbose flag that displays trace info -s <s>: Number of set index bits ($ S = 2^{s} $ is the number of sets) -E <E>: Associativity (number of lines per set) -b <b>: Number of block bits ($ B = 2^{b} $ is the block size) -t <tracefile>: Name of the valgrind trace to replay 所以在 csim.c 里也可以写个打印帮助的函数 1234567void printUsage(){ printf("Usage: ./csim [-h] [-v] -s <s> -E <E> -b <b> -t <tracefile>\n"); printf("-s: number of set index(2^s sets)\n"); printf("-E: number of lines per set\n"); printf("-b: number of block offset bits\n"); printf("-t: trace file name\n");}     Continue Reading
Xin Qiu's avatar
Xin Qiu Jun 07, 2016