[图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]
附常用的矩阵计算工具[转]
Link: https://www.cnblogs.com/yao62995/p/5773142.html
tensorflow使用了自动化构建工具bazel、脚本语言调用c或cpp的包裹工具swig、使用EIGEN作为矩阵处理工具、Nvidia-cuBLAS GPU加速计算库、结构化数据存储格式protobuf
Swig
|
1. Simplified Wrapper and Interface Generator (SWIG) ,基本思想就是向脚本语言接口公开 C/C++ 代码。SWIG 允许您向广泛的脚本语言公开 C/C++ 代码,包括 Ruby、Perl、Tcl 和 Python。 参考: |
|
||
Bazel |
1. bazel假定每个目录为[package]单元,目录里面包含了源文件和一个描述文件BUILD,描述文件中指定了如何将源文件转换成构建的输出。
3. bazel命令: > bazel build -c opt //tensorflow/tools/pip_package:build_pip_package 4. 调试模式: > bazel build -c dbg 参考: 1. 安装bazel > yum install java-1.8.0-openjdk > yum install java-1.8.0-openjdk-devel > https://github.com/google/bazel/ 下载最新版本bazel_xxx.sh安装 2. 使用bazel构建系统 3. bazel 命令手册
|
|
||
EIGEN |
1. Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms. http://eigen.tuxfamily.org/
2. 常用的矩阵计算工具有blas, cublas(caffe)、atlas、openblas(mxnet)、eigen,还有lapack、mkl(intel)、Armadillo(matlab) 3. Eigen库包含 Eigen模块和unsupported模块,其中Eigen模块为official module,unsupported模块为开源贡献者开发的,没有official support。 1. 矩阵运算库blas, cblas, openblas, atlas, lapack, mkl https://eigen.tuxfamily.org/dox/ |
|||
protobuf |
1. Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。 2. 使用 > Writer: SerializeToOstream(), Reader: ParseFromIstream() > required:一个格式良好的消息一定要含有1个这种字段; > optional:消息格式中该字段可以有0个或1个值(不超过1个)。 > repeated:在一个格式良好的消息中,这种字段可以重复任意多次(包括0次)。相当于java中的List。 3. 4. grpc需要理解4个方面(service,stub,channel,observer)
|
|
||
Stream Executor |
> google stream executor team: work on parallel programming models for CPUs, GPUs and other platforms. https://github.com/henline/streamexecutordoc https://github.com/henline/streamexecutordoc/blob/master/se_and_openmp.rst |
|
||
TF C++ |
1. TF源码安装: following the instructions here 2. example: tensorflow/cc/tutorials/example_trainer.cc 3. 自定义的op Kernel: tutorial for adding a new op in C++. 4. TF c++ 调试: debugging Tensorflow's C++ code behind the SWIG interface > The simplest interface between Python and C++ is the pure-C API in tensor_c_api.h
|
[图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]的更多相关文章
- [图解tensorflow源码] 入门准备工作
tensorflow使用了自动化构建工具bazel.脚本语言调用c或cpp的包裹工具swig.使用EIGEN作为矩阵处理工具.Nvidia-cuBLAS GPU加速计算库.结构化数据存储格式prot ...
- [图解tensorflow源码] [原创] Tensorflow 图解分析 (Session, Graph, Kernels, Devices)
TF Prepare [图解tensorflow源码] 入门准备工作 [图解tensorflow源码] TF系统概述篇 Session篇 [图解tensorflow源码] Session::Run() ...
- [图解tensorflow源码] TF系统概述篇
Rendezvous 1. 定义在core/framework/rendezvous.h 2. A Rendezvous is an abstraction for passing a Tensor ...
- 图解tensorflow 源码分析
http://www.cnblogs.com/yao62995/p/5773578.html https://github.com/yao62995/tensorflow
- [图解tensorflow源码] [转载] tensorflow设备内存分配算法解析 (BFC算法)
转载自 http://weibo.com/p/1001603980563068394770 @ICT_吴林阳 tensorflow设备内存管理模块实现了一个best-fit with coales ...
- [图解tensorflow源码] Graph 图优化 (graph optimizer)
- [图解tensorflow源码] Graph 图构建 (Graph Constructor)
- [图解tensorflow源码] Graph 图模块 —— Graph Loading
- [图解tensorflow源码] Graph 图模块 (UML视图)
随机推荐
- spark2.3.0 配置spark sql 操作hive
spark可以通过读取hive的元数据来兼容hive,读取hive的表数据,然后在spark引擎中进行sql统计分析,从而,通过spark sql与hive结合实现数据分析将成为一种最佳实践.配置步骤 ...
- oracle比较一行的最大值或最小值
1. COALESCE 返回该表达式列表的第一个非空value. 格式: COALESCE(value1, value2, value3, ...) 含义: 返回value列表第一个非空的值. val ...
- puppeteer 的PDD反爬经历
使用puppeteer 爬取PDD数据时出现要求登录,以前是没有这问题的. 尝试多种方式如果: 变更UA 变更代理IP 变更Chromium版本(当然最终就是该问题的原因,但是因为版本跨度太大没有测试 ...
- sourcetree回退已推送的代码
方法一: https://blog.csdn.net/gang544043963/article/details/71511958 我百度到博主用这种界面的方式进行的,可视化很好.我想应该可以很好的回 ...
- [python] 初学python,级联菜单输出
#Author:shijt china_map = { "河北": { '石家庄': ['辛集', '正定', '晋州'], '邯郸': ['涉县', '魏县', '磁县'], ' ...
- thinkphp在linux下报mkdir()错误
这个主要是由于缓存文件的权限不够,一般我们git下来的文件时,这个runtime是没有下来的. 解决办法:进入到TP项目下:修改父级目录权限为0777即可linux: chmod -R 777 ./r ...
- urllib2.Request 添加浏览器简单反爬 结合BeautifulSoup解析标签
- CMD定时倒数
修改if %count%==20 goto finish改变秒数 CMD: mode con: cols=80 lines=25color 4ftitle Please WaitSET /P var= ...
- 重识linux-linux的新增与删除用户组和切换命令
重识linux-linux的新增与删除用户组 1 相关文件 /etc/group /etc/gshadow 2操作相关 groupadd group1 groupmod group1 groupdel ...
- 《算法》第五章部分程序 part 8
▶ 书中第五章部分程序,包括在加上自己补充的代码,适用于基因序列的 2-Bit 压缩算法,行程长压缩算法,Huffman 压缩算法,LZW 压缩算法 ● 适用于基因序列的 2-Bit 压缩算法 pac ...