3 SilentOB

尚未进行身份认证

我要认证

keep moving!

等级
TA的排名 11w+

NEON详细指令列表

/******************************************************Addition*************************//*--1、Vector add(正常指令): vadd -> ri = ai + bi; r, a, b have equal lane sizes--*/int8x8_t vadd_s8 (int8x8_t __a, int8x8_t __b);//_mm_add_epi8int16x4_t vadd_s16 (i.

2020-07-10 14:48:15

ONNX前向inference调试

ONNX作为一个方便在各大主流深度学习框架中迁移转换的中间表达式,在工业界使用越加频繁。关于ONNXgithub上有部分相关文档参考链接https://github.com/onnx/onnx,对相关接口的详细说明尚且不够。本文针对onnx的前向过程说明下常见的调试操作。一、自建网络ONNX提供onnx.helper接口,方便搭建节点以及网络,具体demo如下:import onnx...

2020-01-13 14:49:46

ONNX网络模型解析

ONNX是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。它使得不同的人工智能框架(如Pytorch, MXNet)可以采用相同格式存储模型数据并交互。 ONNX的规范及代码主要由微软,亚马逊 ,Facebook 和 IBM 等公司共同开发,以开放源代码的方式托管在Github上。目前官方支持加载ONNX模型并进行推理的深度学习框架有: Caffe2, PyTorc...

2019-11-01 20:11:27

tensorflow学习:tf.strided_slice函数

关于tf.strided_slice函数tensorflow官方文档介绍链接https://www.tensorflow.org/api_docs/python/tf/strided_slice过于简单,本文使用简短的测试用例补充说明strided_slice的详细用法。首先给出接口定义:tf.strided_slice( input_, begin, end,...

2019-07-15 19:34:14

windows强制杀死进程方法

碰到任务管理器无法关闭的情况使用cmd命令。1.管理员身份运行cmd;2.tasklist|findstr“xxx”(xxx为应用程序部分名称)3.taskkill-PIDzzz-F(zzz为tasklist显示的应用程序pid)...

2019-06-13 16:56:31

TFLite文件解析及格式转换

        随着深度学习越来越流行,工业生产不光在PC端应用场景丰富,在移动端也越来越凸显出深度学习的重要性及应用价值。由于嵌入式平台受存储、指令集限制,需要提供更小的网络模型,并且某些DSP平台不支持float指令。tensorflow提供TOCO转换工具能够自动生成量化为U8的TFLite文件。本文将介绍如何解析tflite的网络结构以及权重信息。一、tflite文件格式     ...

2019-01-14 20:08:57

Linux环境gdb调试

 调 试是每个程序员都会面临的问题. 如何提高程序员的调试效率, 更好更快地定位程序中的问题从而加快程序开发的进度, 是大家共同面对的问题. 可能Windows用户顺口就会说出:用VC呗 :-) , 它提供了设置断点, 单步跟踪等的图形界面, 使调试起来直观易用. 但Linux用户可能要生闷气了 O:-) : 难道我们Linux程序员就只能使用原始的调试方法, 在代码中加入printf信息吗?...

2017-09-07 08:58:54

const char * 、char const *、 char * const 三者的区别

C/C++ 中关于以下三种定义:const char *ptr;char const *ptr;char * const ptr;整理三者之间的区别与联系。一、const char *ptr; 定义一个指向字符常量的指针,这里,ptr是一个指向 char* 类型的常量,所以不能用ptr来修改所指向的内容,换句话说,*ptr的值为const,不能修改。但是ptr...

2017-08-09 15:58:28

并行计算openMP 的简单介绍

最近在看多核编程。简单来说,由于现在电脑CPU多个核心,传统的单线程编程方式难以发挥多核CPU的强大功能,于是多核编程应运而生。多核编程可以认为是对多线程编程做了一定程度的抽象,提供一些简单的API,使得用户不必花费太多精力来了解多线程的底层知识,从而提高编程效率。最近关注的多核编程的工具包括openMP和TBB。按照目前网上的讨论,TBB风头要盖过openMP,比如openCV过去是使用open...

2017-07-12 15:49:30

Leetcode-572. Subtree of Another Tree

Description:Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and node values with a subtree of s. A subtree of s is a tree consists of a node in s an

2017-07-07 16:13:46

C++ 中箭头操作符(->)与点操作符(.)的区别

举例说明,对于一个结构体来说:struct Str{      int member_a;};如果有个变量Str s,那么使用其中的成员元素时可以用s.member_a = 1;如果采用指针方法访问,比如Str * ps,那么同样的访问就必须使用如下形式:(*ps).member_a = 1;或者ps->member_

2017-06-30 09:23:40

关于swap的两种实现的说明

最近发现大量博客上面关于交换函数的实现,基本上都给出了两种方式,一种是C++函数库已经实现的。另一种用异或实现。1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符。void swap(int &a, int &b) { int temp ; temp =a; a = b;

2017-06-22 17:22:52

C++重载、重写、重定义区别

一 重载(overload)概念:函数有同样的名称,但是参数列表不相同的情形,这样的同名不同参数的函数之间,互相称之为重载函数。基本条件:函数名必须相同;函数参数必须不相同,可以是参数类型或者参数个数不同;函数返回值可以相同,也可以不相同;注意:只能通过不同的参数样式进行重载,例如:不同的参数类型,不同的参数个数,不同

2017-06-22 10:01:26

debian 下实现LAMP 搭建服务器

一、安装Apache 在安装HTTP Server之前需安装APR ,APR-util , pcre (http://apr.apache.org/)(1)apr安装$ tar zxvf apr-1.4.6.tar.gz$ cd apr-1.4.6/$ ./configure$ make$ sudo make install(2)安装APR-util(http://apr.

2017-06-21 11:15:47

C++ BUG

error1:int len = points.size();bitset<len> bs(7);报告:the value of 'len' is not usable in a constant expression解决:bitset模板参数必须声明为const,这样在编译的时候才能实例化该模板。bitset没有提供修改其大小和添加删除元素的接口,故不能进行修改。...

2017-06-15 11:26:12

VIM高阶用法技巧

浏览代码首先,我们先从浏览代码开始。有时候,我们需要看多个文件,所以,传统的做法是,我们开多个tty终端,每个tty里用Vim打开一个文件,然后来回切换。这很没有什么效率。我们希望在一个Vim里打开多个文件,甚至浏览程序目录。浏览目录的命令很简单:(你也可以直接vim一个目录):E注意,是大写。于是,你会看到下面这样的界面:这个界面中,你

2017-06-15 10:28:58

关于谓词函数predicates的介绍

谓词函数是一个判断式,一个返回bool值的函数或者仿函数。几元就是函数有几个参数,至于定义和使用,函数定义和一般的函数定义一样,仿函数就是写个类,然后重载operator()。使用就是在那些以这种需要返回bool值的函数作参数的函数里用了。一元谓词函数举例如下:1,判断给出的string对象的长度是否小于6bool GT6(const string &s){

2017-06-13 16:19:55

多核环境下绑定进程运行在指定的CPU核上

最近做相关算法性能测试的时候,要测试单核的性能,故需要事先绑定指定的CPU核号。   所谓绑核,其实就是设定某个进程/线程与某个CPU核的亲和力(affinity)。设定以后,Linux调度器就会让这个进程/线程只在所绑定的核上面去运行。但并不是说该进程/线程就独占这个CPU的核,其他的进程/线程还是可以在这个核上面运行的。如果想要实现某个进程/线程独占某个核,就要使用cpuset命

2017-06-12 16:33:28

ARM NEON 基本指令集介绍

寄存器ARMV7架构包含:16个通用寄存器(32bit),R0-R15 16个NEON寄存器(128bit),Q0-Q15(同时也可以被视为32个64bit的寄存器,D0-D31) 16个VFP寄存器(32bit),S0-S15 NEON和VFP的区别在于VFP是加速浮点计算的硬件不具备数据并行能力,同时VFP更尽兴双精度浮点数(double)的计算,NEON只有单精度浮点...

2017-06-10 14:40:40

ARM NEON 编程简单入门1

NEON简介NEON是适用于ARM Cortex-A系列处理器的一种128位SIMD(Single Instruction, Multiple Data,单指令、多数据)扩展结构。从智能手机和移动计算设备到HDTV,它已被公认为是多媒体应用领域中最为优越的处理器之一。它采用专门设计,简化了软件在不同平台之间的移植,为类似DolbyMobile的密集型多媒体应用提供了低能耗和灵活的加速功...

2017-06-09 10:49:49
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。