algorithm divide and conquer

You are interested in analyzing some hard-to-obtain data from two separate databases. Each database contains n numerical values, so there are \(2n\) values total and you may assume that no two values are the same. You’d like to determine the median of this set of \(2n\) values, which we will define here to be the nth smallest value.

Tensorflow之计算图及OP节点

计算图graph就是节点与边的集合,是一个有向无环图(DAG)按照DAG图的拓扑排序依次执行OP运算,若存在多个度为0的节点可以进行并发运算

之前提到过会话Session初始化到其父类BaseSession初始化时,若graph为空会调用默认图

Tensorflow之简介及系统架构

Tensorflow 是由谷歌开源的人工智能学习系统,Tensor意即张量表示多维数组,flow意味着基于数据流图的计算,支持异构设备分布式计算,它能够在各个平台上自动运行模型,从手机、单个CPU / GPU到成百上千GPU卡组成的分布式系统。TensorFlow支持CNN、RNN和LSTM算法,可应用于语音识别,自然语言理解,计算机视觉,广告等等。tensorflow官网: https://www.tensorflow.org (可能需要VPN访问)

Tensorflow 8之可视化工具Tensorboard

Tensorboard是一个用于可视化和理解tensorflow训练过程的一个web工具,可以通过保存tensorflow在训练过程中的graph的信息,然后利用tensorboard进行可视化,并在浏览器中显示出来。一般在安装tensorflow的过程中会默认安装tensorboard,可以在github上找到tensorboard的源码。

Tensorflow 7之建模及高级API Estimators

本文主要通过官网实例花的分类来了解tensorflow建模过程,在github上tensorflow提供了很多model模可供学习。对于花的分类实例需要安装pandas,这是一个Python的数据处理库,可以直接处理csv格式文件。tensorflow实现了keras机器学习库,在这个实例中也被用到。

Tensorflow 4之利用SWIG连接前端多语言环境与后端CC++

Tensorflow 源码中python API和底层c/c++之间的关联主要是靠 SWIG 来完成的,这是一个用于把C/C++集成到其他语言中的编译器。本文主要介绍swig以及tensorflow如何利用swig关联前后端,另外主要介绍了一下Session的生命周期。

Shielding applications from an untrusted cloud with Haven

这篇文章全称《Shielding applications from an untrusted cloud with Haven》,是Microsoft在2014年发表在USENIX OSDI上的一篇文章,主要考虑的问题是云计算基础架构的安全性,云计算的用户希望云计算软硬件提供商能够保证数据的隐私及安全。这篇文章引入了shielded execution的概念,也就是屏蔽执行,能够保护程序和数据的运行平台的机密性和完整性,主要是云OS、虚拟机和firmware的安全,文章基于Windows设计了Haven原型,利用Intel的SGX的硬件保护来抵御内存探测等特权代码和物理攻击,这项工作促使了SGX规范的改进。

MNIST 手写数字多分类方法

本例主要测试不同的统计学习方法对于mnist手写数字识别的应用,包括机器学习方法和深度学习神经网络的方法,主要应用了机器学习框架sklearn和深度学习框架tensorflow,暂时使用如下方法进行测试

Linux内核模块

LKM means linux kernel module.

A kernel module extends the functionality of the kernel without the need to reboot the system.Take device driver as an example, it allows the kernel to access hardware connected to the system. Without kernel module we have to add the code into the kernel source code, and rebuild and reboot the kernel, obviously this is complicated.

Linux 信号机制 signal

信号是类Unix系统中一种常用的IPC机制,信号是发送到进程或同一进程内的特定线程的异步通知,以便通知它发生的事件。当信号发出时,操作系统会终端目标进程的执行流来传递信号,任何非原子的执行过程都可以被中断,如果进程之前已经注册过信号处理函数,该处理函数就会被调用,否则会执行默认的信号处理函数。信号和中断类似,区别是中断是由硬件调停并由内核处理,而信号是由内核调停而由进程处理。内核可能将某些中断当作信号传给进程,比如 SIGSEGV、SIGBUS、SIGILL以及SIGFPE等。

Linux profiling with performance counters

Perf Event is a performance diagnostic tool that is released and maintained with the Linux kernel code. Perf can not only be used to analyze the performance of program, but it can also be used to analyze the performance of Linux kernel.

Linux Kernel Module

LKM means linux kernel module.

A kernel module extends the functionality of the kernel without the need to reboot the system.Take device driver as an example, it allows the kernel to access hardware connected to the system. Without kernel module we have to add the code into the kernel source code, and rebuild and reboot the kernel, obviously this is complicated.

Linux From Scratch

LFS(Linux From Scratch)也就是从零构建Linux系统,目的是为了完全通过源代码来构建一个Linux系统环境。当然从零构建并不是真正的从什么都没有来开始构建,毕竟没有鸡哪来的蛋,必须得有一个能够编译Linux源码以及Linux软件包源码的宿主系统才行,而这个宿主系统可以是物理机也可以是虚拟机,唯一的要求是至少得是Linux环境。至于LFS系统,得需要单独准备一个硬盘分区,LFS系统的构建过程也就是这个硬盘分区中文件不断增加的过程,这些文件包括Linux系统所必备的各种库文件(如在/lib中),Linux系统必备的一些命令对应的二进制可执行文件(如在/bin中)等等。要说一个能够启动并运行的Linux系统其实结构比较清晰,主要包括可执行文件、运行库、Linux内核以及各种配置文件,只需要在一个硬盘分区上包含有上述的各种内容就行。

Elfen论文复现

由于作者使用的是Lucene的开源代码以及另外一个Lucene性能测试的开源项目代码,而Lucene的代码会经常更新,幸好对应的性能测试代码也会对应更新,性能测试代码: https://github.com/mikemccand/luceneutil

C标准库 2 之工具

GNU C标准库提供了很多工具用来简化编程,包括各种数学工具,对于时间的处理接口以及对系统资源的访问等等。本部分为GNU C标准库阅读记录第二部分,主要包括像随机数、浮点运算操作及定时时钟设置以及进程自己睡眠等操作。