[图解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视图)
随机推荐
- SSH 项目整合
SSH整合:spring + springmvc + hibernate 1.1 生成Maven项目:ar_ssh 1.2 添加jar包:pom.xml 与ssm相比,主要添加了spring与hibe ...
- 第9章 应用层(2)_动态主机配置协议(DHCP)
2. 动态主机配置协议(DHCP) 2.1 静态地址和动态地址的应用场景 (1)静态地址应用场景 ①IP地址不经常更改的设备(如服务器地址) ②使用有规律的IP地址以便于管理(如学校机房为方便教师管理 ...
- IIS 修改并发连接数
http://www.cnblogs.com/dudumao/p/4078687.html
- JavaWeb项目中web.xml有关servlet的基本配置
JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...
- Django -- settings 详解
Django settings详解 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运 ...
- Struts2学习:Action使用@Autowired注入为null的解决方案
1.pom.xml引入struts2-spring-plugin <dependency> <groupId>org.apache.struts</groupId> ...
- 【Selenium-WebDriver自学】Selenium-IDE调试(四)
==================================================================================================== ...
- android 开发 实现多个动态权限的方法(并且兼容6.0以下的版本权限授权)
android开发权限授权因为版本的不同有不同的授权方式,6.0以下的版本使用的是在注册表中添加权限的静态授权(这种授权权限提示只会出现在app安装的时候),而6.0以上(包含6.0)就需要动态授权的 ...
- spring mvc 跨域问题。。。解决
官方推荐方式: http://spring.io/blog/2015/06/08/cors-support-in-spring-framework 方式1: $.ajax({ //前台:常规写法.注意 ...
- ASP.NET Core MVC 概述
https://docs.microsoft.com/zh-cn/aspnet/core/mvc/overview?view=aspnetcore-2.2 ASP.NET Core MVC 概述 20 ...















