自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 15分钟搞定Linux三剑客 grep sed awk

剑客grep来者何人grep是linux上的字符串搜索匹配命令。这个名字来自于linux编辑器vim的一个命令g/re/p,表示全局匹配某个正则表达式并打印出来,这也体现了grep自身的功能。基本技能搜索字符串比如我们想在一个有10万条信息的文本中找到Zhang3的信息:$ cat students.txtname age phone addressLiSi 18 10086 BeijingZhang3 19 10001 Sichuan

2021-01-17 17:05:47 308

原创 python pip download too slow?

pip install <package name > -i https://pypi.tuna.tsinghua.edu.cn/simplepip mirror :https://pypi.tuna.tsinghua.edu.cn/simplehttp://mirrors.aliyun.com/pypi/simple/https://pypi.baidu.com/pypi/simple

2020-12-30 22:41:04 561

原创 采用命令行控制有什么优势呢?

大多数人第一次看到命令行控制都会有点抵触,心想:“这玩意怎么可能有界面软件好用呢?命令都想不起来啊”。语言障碍是使用命令行操作的最大门槛,这仅仅是因为我们是中国人。如果对于英语熟练的人,用命令行操作就像是在和 电脑聊天一样:把包含的文件列出来,ls切换到 cd ...可以看到,从一个脑子里的想法到实际行为,就是把你要做的事表达出来,终端操作最大的优势就在于:他是对想法的直接表达。而界面操作呢,我们要先用眼睛找到具体的按钮,然后再用手控制鼠标精确的点击那里。当你在不同的界面之间切换时,大脑要缓.

2020-12-28 16:32:32 1676

原创 程序员之歌 Coder‘s song

a coder code, keyboard duang duang onwrite the code whole day long.don’t know who, need these code to,don’t know where,will these code go,where it deploy,who’ll it used by.A coder just to, write them line line upon,with the clock round by round.

2020-12-22 15:00:10 257

原创 object orientend tensorflow model demo about minist

文章目录1. import header2. make a class to define the model structure:3. make a class to control the trainning process:4. finally build an entry and save the modelReference the whole code:1. import headerimport tensorflow as tffrom tensorflow import kerasi

2020-12-22 14:30:18 106 1

原创 解读Mobilenet系列V1V2V3

Mobilenet V1~3发展脉络目录文章目录MobileNet 三个阶段的发展脉络阶段1:深度可分离卷积1. 遇到问题2. 解决方案3. 合理性分析:阶段2:反转残差和线性瓶颈模块 (inverted residual with linear bottleneck)1. 遇到问题2 解决方案:3 翻转残差结构4 激活函数阶段3:MobileNetV31. V3 在结构上的调整2. Squeeze Excitation结构挤出(Squeeze):激励(Excitation):缩放(scale)SE模块

2020-12-16 09:13:09 978

原创 高通骁龙snpe 编译配置运行

文章目录硬件准备安装1 安装python3.5+tensorflow安装miniconda更换conda源安装python3.5虚拟环境2 编译caffe准备修改编译选项编译运行3 配置snpe的环境运行1. 导出cld模型2 基准测试参考硬件准备笔记本电脑: 安装ubuntu16.04手机:搭载高通骁龙处理器usb线安装1 安装python3.5+tensorflow安装miniconda先下载 ubuntu64位 https://repo.anaconda.com/miniconda

2020-12-09 17:06:20 2403 1

原创 Neon 在多线程中怎么用呢?

遇到了一个问题,我用多线程加速了一个for循环结构后,再想用Neon加速,发现Neon加速前后无效果。问题来了,Arm上的Neon单元在多线程中还有效果吗?我先假设是Neon无法用在多线程中,我只要证明【MCEC】:1. Neon是多核CPU共享的区域,每个核都会独占Neon,否则就得交换内存浪费时间,证明:查资料:Piaaa 打脸图上清清楚楚写着,每个CPU核上都有一个Neon单元。结论:命题为假,Arm Neon可以在多线程中应用。那为什么会加速后没效果呢?效果是指速度提升,没效果

2020-11-20 13:21:11 779

原创 自动对焦算法对比

2020-11-12 08:33:21 676 1

原创 Mobilenet各个版本对比

2020-11-12 08:28:38 617

原创 Arm Neon 在线仿真工具! 良心之作啊

新手学习ARM Neon指令集优化时,遇到的最大的困难就是,无法直观看到每个指令的操作结果。如果能有一个工具,把输入的指令产生的结果直接显示出来,那简直快乐至极。翻遍了各个网站,终于在一个犄角旮旯找到了一个Neon仿真器,没错,就是我要的“滑板鞋”这个工具是一个在线工具,不用注册不用下载,打开就能用,【良心之作啊】珍贵的网址在这里:https://szeged.github.io/nevada/使用手册在这里:https://szeged.github.io/nevada/help/manual.h

2020-10-29 15:01:15 1460

原创 Neon指令集优化快速入门教程

文章目录Neon是什么?Neon为什么速度快Neon基础概念运算和缓存名词收罗Neon是什么?Neon是一个商标名称,指的是Arm对Advanced SIMD Architecture的实现。SIMD代表单指令多数据。由于SIMD指令比等效的SISD(单指令单数据)指令可执行更多的操作,因此使用SIMD指令的程序平均每条指令可以处理更多数据。Neon为什么速度快Neon有32个128bit寄存器,能够输入多行的数据同时操作。Neon基于SIMD,一条指令操作多个数据,对多个数据项同时执行相同的操作

2020-10-27 11:31:20 3695 4

原创 不同数据结构的效率

文章目录1. 变量存储方式栈内存全局静态存储寄存器存储Volatile /ˈvɑːlətl/ 挥发性变量线程局部变量动态内存申请类内部声明的变量2 整数变量和操作有符号和无符号整数转换整数操作简单操作自增自减操作3布尔布尔运算4指针与引用智能指针5 类型转换1. 变量存储方式栈内存函数返回地址,函数参数,函数内部声明的变量或对象,存储在栈中。如果这些数据中没有大的数组,栈内存是在Level-1缓存中的。全局静态存储存放在静态内存中,全局变量,静态变量,字符串常量,浮点常量,数组初始化变量,数组初始

2020-10-27 11:08:59 894

原创 这些技巧让c语言运行速度如飞

文章目录1. 使用查找表代替分支结构2. 简化边界检查判断条件3 使用位运算优化一些语句用 & 判断多个条件:4 简化整数乘法5 整数除法6 浮点数的除法7 不要混合使用float和double1. 使用查找表代替分支结构对于运算结果是有限可能的,设置查找表,特别是在循环体内,避免重复计算:例如,整数的阶乘,在整数的有效范围内,只有如下可能:const int FactorialTable[13] = {1, 1, 2, 6, 24, 120, 720, 5040, 4032

2020-10-27 10:56:40 1490

原创 动态库与静态库的对比

静态库 动态库 加载方式 链接器从静态库中提取所需的函数复制到可执行文件中,最后只要可执行文件既可以运行。 动态库中的链接在加载和运行时才会解析,所以可执行文件中不包括静态库中的函数,需要一起交给用户才能执行。 内存占用 可执行文件只从静态库中提取所需的部分。 需要全部加载到内存中。 文件数量...

2020-10-27 10:39:14 119

原创 大话分析性思维的发展

啊哈!领导年少有为,意气风发,创业三年,员工数人。领导说:写个加法函数,算算存款。我嗖嗖嗖三行代码?领导说:写个加减乘除计算器,想给儿子批改作业。我稍微一想,四个函数,蹭蹭蹭搞定。领导说:写个常用运算的计算器,包括指数、开方、对数,想卖给小学做工具。我想了想,不好弄,得画个关系图,用了一周时间,重构了一两次,搞定啦。领导说:写个科学计算器,包括多项式,分式,和一元未知数求解,我要退出一个计算器产品。我:啊,咋弄呢,在现有代码上添加功能,一个月后,代码瞬崩,重新构建,毫无头绪。最后实在没办法,

2020-10-22 12:25:08 141

原创 java中的正则表达式:验证、切分

判断一个字符串是否符和规定格式,就要用的正则匹配。文章目录1 验证格式String类的matches() 函数Patern类的matches函数2 切分出一段符合格式的字符串 Pattern和Matcher类2 正则表达是的最最常用的几个知识点1 验证格式String类的matches() 函数第一种是简单的String类的matches() 函数 @Test void testStringMatch() { // String 的正则表达式只能判断

2020-10-20 21:41:02 262

原创 Calander 类的使用

Calander 类是Java中做日期处理的利器,有以下常用功能:设定一个日期,或者一个时间,在某个时间基础上,按照各种类型的长度做加法,例如:加1小时,加10分钟快速获得日期对应的星期几。以下例子展示了常用的功能测试:public class DateTest { @Test void testDate(){ SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa", Locale.ENGLISH); //

2020-10-20 19:57:52 1210

原创 计算机出卖了自己的大脑,人也出卖了自己的大脑?

我总有一个疑问,我们的电脑按照设定好的程序运行着固定的程序,他们的大脑像是被我们程序员租用了一样,那电脑除了日常的计算任务,还有没有自己的思考呢?我怎么会想到这个问题呢,因为昨天晚上看到一个问题:如何把在O(1)的时间内删除一个链表的某个节点class LinkedNode{ public int val; public LinkedNode next;}// 所有节点的值都是唯一的void delete(LinkedNode root, LinkedNode beDeleteNode){

2020-10-16 10:17:34 187 2

原创 FastJson 读取JSON文件到

本文介绍了如何读取一个json文本文件,并把数据保存到一个java对象中。基本使用从.json文件中读取:String srcPath = "saveNumpyAsJsonFile.json";JSONReader jsonReader = getJsonReader(srcPath);PatchTestData patchTestData = jsonReader.readObject(PatchTestData.class);private JSONReader getJsonReader

2020-10-14 13:34:13 5291

原创 统计TF lite模型在移动平台的每个算子用时

统计TF lite模型在移动平台的每个算子用时文章目录统计TF lite模型在移动平台的每个算子用时0 前言用这个工具来干什么呢?1. 在主机上测试编译运行,2 在android上运行3 可用的参数必须参数:可选参数:4 代理模式的参数GPU delegate provider常规选项Android optionsNNAPI delegateHexagon delegateExternal delegate provider我的个人用例0 前言用这个工具来干什么呢?如果你想测试你的模型在具体的移动平

2020-10-14 13:28:53 818

原创 为什么面试的大公司都注重代码规范?

为什么大公司都注重代码规范, 今天就跟大家唠唠代码规范的好处和重要性。有助于逐层深入的阅读代码。你有没有想过,究竟是什么驱使你打开那些源代码去阅读的呢?或者说你在什么情况下会打开一段源代码阅读呢?第一,你可能想了解一段代码的逻辑,比如,你在调用别人的代码时,感觉输出结果怪怪的,想进去一探究竟。第二,你可能想要学习一下大神写的代码的的核心点。第三,你运行这段代码时遇到了Bug,你要进去找到并修改它。或者想更改一下这段代码的某个地方。可以看出,我们在阅读源代码的目的,都不是要把全部的

2020-10-13 18:55:40 616 1

原创 数据库三范式 顺口溜

来句顺口溜:“一原二键三不传递” 谐音就是"原件不可传递"1范式 原子性,属性不可再分2范式 主键性,每行数据能被唯一标识3范式 不可传递性,A表依赖B表,只能通过引用B表的主键,而不能通过引用别的属性...

2020-09-24 20:00:49 405

原创 神经网络模型格式转化与运行示例代码

keras Hdf5格式转TF Lite转换代码# tensorflow==1.14import osimport tensorflow as tffrom tensorflow.python.saved_model.builder_impl import SavedModelBuilderfrom tensorflow.python.saved_model.signature_constants import DEFAULT_SERVING_SIGNATURE_DEF_KEYfrom te

2020-09-15 18:45:09 458

原创 如何生动形象的理解七大设计原则

文章目录0. 设计模式的目的,什么是好的程序好的程序要求:0 七大设计原则的核心思想1. 单一职责原则2. 接口隔离原则3. 依赖倒置原则实际问题要求核心思想4. 替换原则(里氏)5 开闭原则(open closed principle)6 最少知道原则(迪米特原则)7. 合成复用原则0. 设计模式的目的,什么是好的程序好的程序要求:可靠性:当增加了新的功能,对原有的功能没有影响。让你给一个只能加减乘除的计算器,增加平方的功能,你不能图省事把人家的乘法函数改了改,结果基本的加减乘除都用不了了。高内

2020-09-14 20:03:31 237

原创 【JNI】Java中如何管理native C++的指针

有这样一个需求Java中有两个函数:native void initJNI();native int getValue();第一个函数负责调用C++初始化一些变量,初始化一个做加法的类,第二个函数负责用这些变量来处理的到结果,那第二个函数进去以后怎么找到之前构建好的那个类呢?class Plus{ int plus(int a,int b){ return a+b }}解决方案这个类似于Java中的聚类关系,只要把C++中构建的类的引用传给Java就可以了

2020-09-14 18:27:53 877

原创 【JNI】辨析GettypeElement和GettypeRegion

辨析GetArrayElement和GetArrayRegion文章目录辨析GetArrayElement和GetArrayRegion1. 简介2. GetIntArrayRegion2 GetIntArrayElements1. 简介为了叙述方便,以int类型数组举例子:GetIntArrayRegion 表示 把Java的数组拷贝到 C++新建的数组内存区域中GetIntArrayElements表示把C++的一个数组指针指向 Java的数组,这样C++修改数组后,Java的变量是会发生改

2020-09-14 18:25:45 568

原创 【JNI】C++ 中的Android log使用格式化字符串输入

__android_log_print就像printf 一样,在格式化字符串中设置占位符 ``fmt中__android_log_print(ANDROID_LOG_ERROR,"SSSS","I'm %s \t ,age %d",name,age);常见参数 %c     一个字符(char) %d    有符号十进制整数(int) %e    浮点数、e-记数法 %f     单精度浮点数(默认float)、十进制记数法(%.nf 这里n表示精确到小数位后n位.十进制计数) %i

2020-09-14 18:23:21 1178

原创 tflite convert 无法导出动态输入shape的模型文件

tflite convert 无法导出动态输入shape的模型文件在window上 切换了各种方法,仍然是无法导出,最终在Ubuntu 上面用同样的方法就可以导出了。用 Ubuntu~

2020-09-14 18:13:10 500 1

原创 【BugRecord】RunningTensorflowHighVersion

RunningTensorflowHighVersionDll load errorNeed to change the Protobuf version ==3.6.0pip install protobuf==3.6.0

2020-09-14 18:12:22 86

原创 “invalid shape ‘{1}‘.“.format(_get_tensor_name(tensor), shape_list))

出错代码行tfLiteModel=tfLiteconverter.convert();错误信息"invalid shape '{1}'.".format(_get_tensor_name(tensor), shape_list))ValueError: None is only supported in the 1st dimension. Tensor ‘input_1’ has invalid shape ‘[None, None, None, 4]’.解决# tflite是静态图,需要

2020-09-14 18:11:29 422 1

原创 Android grandle 常见配置片段代码

文章目录1 assets文档被压缩了,怎么办?2 NDK只想编译某一种CPU架构3 手动添加了一个AAR库怎么导入4 常见的依赖导入导入constraintlayout导入navigation导入CameraX依赖导入Glide导入ButterKnife导入Tensorflow lite 和support库1 assets文档被压缩了,怎么办?在Build.grandle(app)中,设置不想被压缩的文档的格式尾缀:android { aaptOptions{ noCompre

2020-09-14 18:06:47 194

原创 如何直观的理解模板方法模式:大学里的老油条

文章目录1 直观理解故事一: 大学生了没故事二:小学生了没2 奔入主题(1)原始的粘贴复制模式(2)改进后的模板方法模式(3)类结构图3 总结一下:1 直观理解故事一: 大学生了没记得我大一刚刚进学校时,加入了很多部门,社团领导也是多年学弟熬成学长了,继承它们的前辈风范,把一些无聊的任务甩锅给新学弟们,“三川,给咱们设计一个活动的宣传海报”,“三川,帮我整理一份会议报告”,“三川,帮我做个PPT”…我开始一脸茫然,说,我不会做呀。学长们拍拍我的肩膀说,“别怕,等会发你一个模板。”学长说:“你看哈,

2020-09-10 19:42:30 341

原创 Android studio显示崩溃代码信息

Android studio显示崩溃代码信息:LogCat 设置为No filters查找窗口中的 backtrace逐行查看输出的代码段,定位错误信息。

2020-09-09 10:46:15 625

原创 MyBatis基本用法(有些知识不需要记住,但得知道从哪找)

1. 配置1.1 导入Maven 依赖在pom.xml中添加Mybatis的依赖:<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.2</version> </depen

2020-09-05 16:42:10 328

原创 SpringMVC 中的控制器的使用

文章目录1 直接通过Bean配置Controller2 使用注解 实现Controller3 RestFul风格4 接收对象1 直接通过Bean配置Controller在Spring配置文件中设置控制器类的xml<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001

2020-08-30 22:24:09 664

原创 一步一步配置SpringMVC(范例好学生)

1. 配置项目新建IDEA 的一个java Maven项目,删除src文件夹(为了应用多模块开发)。然后导入依赖项,pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocati

2020-08-29 21:29:47 127

原创 Android JNI开发常用库汇总,再也不用自己编译啦

Android JNI开发中常用库汇总此hub是我在开发android jni 过程中编译或者收集到的一些常用库,android 应用环境比较固定,所以一次编译好,大家就都可以用。(持续更新~ ~)使用过程遇到问题,欢迎讨论。所有文件在Github下载文章目录Android JNI开发中常用库汇总1 OpenCV动态库2. tensorflow-lite动态库3. caffe动态库3.5 caffe的aar库4. pytorch动态库5. boost静态库6. 未完待续 。。。1 OpenCV动态

2020-08-26 21:37:35 534

原创 Caffe的 Android aar库使用(脚手架)

文章目录0 试玩一下andorid demo caffe_android.aar库1 添加本地AAR2 Java代码示例(1) 申请权限(2)设置运行主函数(3)异步运行的监听器类(3) 启动神经网络识别任务caffe的android库编译比较费麻烦,网上的教程也不好继承。思来想去,觉得封装成java的aar库或者jar库,直接导入到项目中,岂不利索0 试玩一下andorid demo caffe_android.aar库如果你想直接运行下效果,我在github上有一个android demogit

2020-08-21 23:25:45 369

原创 Android 程序打开相册读取一张图片

开启相册,回调一张图片开始还要设置读写权限打开相册Intent intent=new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(intent,200);设置返回值 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data

2020-08-21 22:46:26 1063

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除