2016-02-20-阅读笔记:CXX虚函数 + tensorfuse API统一的一种封装 + insignts: unsupervised learning + vision资料汇编

 写给自己看的:

 

1, C++虚函数简介:

这篇博文讲述的比较清晰;读完对于虚函数的理解得到印证和加强;

虚表是class-scope的,属于每一个类,类的所有objs共享;所以指向一个对象的指针,会间接引用该类的vitaul-table,而注意到virtual-table罗列了属于该类的virtual functions,所以这也就相当于绑定了该指针会运行的虚拟函数的实现;对外宏观表现为多态;

所以多态的想法在CXX中的实现是采用枚举这种简洁方式;简单易懂。

“每个包含了虚函数的类都包含一个虚表。”

“虚表是一个指针数组,其元素是虚函数的指针,每个元素对应一个虚函数的函数指针。需要指出的是,普通的函数即非虚函数,其调用并不需要经过虚表,所以虚表的元素并不包括普通函数的函数指针。 ”

“虚表内的条目,即虚函数指针的赋值发生在编译器的编译阶段,也就是说在代码的编译阶段,虚表就可以构造出来了。”

最后作者还给出了一个总结,多态的触发来自于指针的引用,这是当然,或者obj也是可以,就是看你对于virtual function的理解咯, 他的实现如果不是在当前本class当中定义,那就继承于基类了,以此类推(推导);总之,在脑中简历virtual-table的概念,这些总结就都显而易见了。。

“ 什么时候会执行函数的动态绑定?这需要符合以下三个条件。

  • 通过指针来调用函数
  • 指针upcast向上转型(继承类向基类的转换称为upcast)
  • 调用的是虚函数

 LINK在此

 

2, tensorfuse,接口switch between theano, tensorflow以及mxnet等,当初点进去关注并安装,就是想看看是如何做的,这样自己未来重构手头的那份代码时,也可以参考一下:做法比较直接,就是通过修改环境变量或者python代码中指定的方式,并不存在自己一开始设想的自动探测的功能;这样,对于不同的指定,选择不同平台下的API,

而各个不同类型的API背后去调用相应的后端backend(当前支持了cgt,theano,tensorflow以及mxnet)

LINK: https://github.com/dementrock/tensorfuse

 

3,监督学习与无监督的讨论

https://www.technologyreview.com/s/600819/the-missing-link-of-artificial-intelligence/

unsupervised 毕竟是下一步,如果可以达到,那将是的当前AI技术提升的标志性事件;

facebook/google实验了一钟近似方式(eyescream)就是,读图理解其中含义,补充图中不完整/被遮挡部分;或者给出图片的含义,亦即理解图片内容;(我的理解,这些AI应该都要在无监督下训练得出);

而deepmind则验证了另外一种技术,unsupervised learning,但是建立了一种评价机制来反馈的当前的学习成果用于调整;

具体细节还不明了,至少听上去符合自己对于unsupervised learning的浅薄预期;

 

4, 一个连接,收集了不少计算机视觉方面的工具和资料

还是踏踏实实把sift和 opencv 用好吧

http://blog.chinaunix.net/uid-24517893-id-3125166.html

posted on 2016-02-24 00:09  馒头山小八路  阅读(255)  评论(0编辑  收藏  举报

导航