[图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]
[图解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。 参考: 1. 使用SWIG实现Python调用C/C++代码 |
|||
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/ C++矩阵运算库推荐 |
|||
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)
Protobuf 语法指南 gRPC 入门及源码分析 |
|||
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 |
转载于:https://www.cnblogs.com/xiexiaokui/p/9598375.html
[图解tensorflow源码] 入门准备工作附常用的矩阵计算工具[转]相关推荐
- [图解tensorflow源码] [原创] Tensorflow 图解分析 (Session, Graph, Kernels, Devices)
TF Prepare [图解tensorflow源码] 入门准备工作 [图解tensorflow源码] TF系统概述篇 Session篇 [图解tensorflow源码] Session::Run() ...
- 生成对抗网络入门详解及TensorFlow源码实现--深度学习笔记
生成对抗网络入门详解及TensorFlow源码实现–深度学习笔记 一.生成对抗网络(GANs) 生成对抗网络是一种生成模型(Generative Model),其背后最基本的思想就是从训练库里获取很多 ...
- CNN入门详解及TensorFlow源码实现--深度学习笔记
CNN入门详解及TensorFlow源码实现–深度学习笔记 ##一.卷积神经网络 ###1.简介 卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出 ...
- 干货|TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法工程师 安装平台 1 平台 目前Tensor ...
- Tensorflow源码学习经历(一)
前言 准研一学生,暑假开始学习tensorflow.导师让我学习的不是如何使用TenosrFlow构建机器学习模型,而是把目光放到TensorFlow框架本身上,了解tf框架内部的工作原理.翻阅各类书 ...
- anaconda tensorflow 2.3_TensorFlow开发环境搭建(Ubuntu16.04+GPU+TensorFlow源码编译)
1 安装选择 1.1 平台 目前TensorFlow已支持Mac.Ubuntu和Windows三个主流平台(64位平台), 1.2 GPU vs CPU 在安装时可以选择安装版本是否支持GPU, 1. ...
- Tensorflow源码解析1 -- 内核架构和源码结构
1 主流深度学习框架对比 当今的软件开发基本都是分层化和模块化的,应用层开发会基于框架层.比如开发Linux Driver会基于Linux kernel,开发Android app会基于Android ...
- cuda 编译 linux,Linux下安装Tensorflow源码及编译
下载Tensorflow源码 git clone https://github.com/tensorflow/tensorflow 如果无法下载也可以在github上直接下载tensorflow的打包 ...
- Tensorflow源码编译
相比源码编译各版本之间遇到的坑来说,pip安装真心省事.不过由于项目需要采用C++实现的整个感知模块,只能把DL前向传播这块也写成C++形式.这是我去年的编译过程,当时有不少坑没能记录下来,以后有机会 ...
最新文章
- 给虚拟机中的linux系统增加一个硬盘
- string的内存管理问题
- spring bean初始化及销毁你必须要掌握的回调方法。
- torch7框架 深度学习(1)
- 了解HTML CSS格式化排版 文字排版
- 第五篇:你“ 看不见 ” 的隐式转换
- 诺基亚再做手机,没有机会
- 好用的在线JSON编辑与格式化工具
- 学生宿舍管理信息系统软件测试,asp.net学生宿舍管理系统
- 微信小程序显示列表数据
- P2346 四子连棋 题解
- Xshell4、Xftp4注册码
- mysql字段长度的作用_数据库字段的长度 作用
- fail can only be invoked by user TAP gesture.
- 数据分析模型篇—安索夫矩阵
- python day46
- git checkout恢复文件
- 图数据库——大数据时代的高铁
- 一文带你快速了解常用的CSS选择器场景
- RISC-V MCU 智能安全驾驶监测系统
热门文章
- 云服务器centos怎么还原系统还原,云服务器centos怎么还原系统还原
- Java 主流垃圾收集器
- iPhone的mysql客户端_适用于iPhone的MySQL C API库
- Docker必备知识整理
- c#水晶报表连接mysql,如何将数据库绑定到水晶报表?
- stm32 PWM互补输出
- zigbee无线通信数码管实验、usbDongle抓包、发字符串
- 两数的和与差的简单函数
- 《零基础》MySQL WHERE 子句(十三)
- android 高德获取省市,高德地图定位获取当前地址城市街道等详细信息(全部代码)...