zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    多个文件目录下Makefile的写法
    通用多目录makefile的写法
    一个简单的通用Makefile实现
    Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试
    Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上
    Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下
    WiEngine+Eclipse+CDT+Sequoyah实现c++编程智能感知提示
    Docker 常用命令总结
    很好用的取代 PuTTY 的SSH远程登陆软件 Termius
    [转]如何优雅地进行参数校验?有什么提高代码稳壮性的方式?
  • 原文地址:https://www.cnblogs.com/superniaoren/p/5205230.html
Copyright © 2011-2022 走看看