自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

huachao1001的专栏

每天学习一点点,每天进步一点点...

原创 OpenVINO运行Tensorflow模型

请先阅读我的上一篇文章《Visual Studio 2017 配置OpenVINO开发环境》,在VS2017中配置好OpenVINO环境。 1 模型转换 1.1安装模型转换工具 打开conda控制台,创建虚拟环境vino: conda create -n vino python=3.6 创建完成...

2019-11-20 14:13:09 1659 3

原创 Visual Studio 2017 配置OpenVINO开发环境

最近看到一个巨牛的人工智能教程,分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。平时碎片时间可以当小说看,【点这里可以去膜拜一下大神的“小说”】。 1 下载 前往【OpenVINO官方下载地址】,进入下载页面: 选择windows,登录in...

2019-11-20 12:36:28 1052 0

转载 LSTM内部实现原理详解

最近看到一个巨牛的人工智能教程,分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。平时碎片时间可以当小说看,【点这里可以去膜拜一下大神的“小说”】。 文章转自《https://blog.csdn.net/shenxiaoming77/artic...

2019-10-25 17:48:44 282 0

原创 【Ubuntu】Tensorflow对训练后的模型做8位(uint8)量化转换

1 量化为PB格式模型 从官方提供的tensorflow版本与编译工具版本中选择bazel版本下载,各个版本的Tensorflow与各个编译环境映射表如下。 版本 Python 版本 编译器 编译工具 cuDNN CUDA tensorflow_gpu-1.13.1 2.7 、3....

2019-10-08 12:05:52 453 1

原创 Windows中Python与OpenCV C++之间Mat传递

1 VS2017中创建DLL项目 1.1 创建DLL项目 1.2 删除自动创建的文件 将stdafx.h、targetver.h、dllmain.cpp、MyDLL.cpp、stdafxc.pp删除。 删除后,记得要在C/C++》预编译头 中取消使用预编译头 1.3 配置OpenCV环境 这...

2019-04-08 10:08:41 2278 2

原创 Python3.X使用Cython调用C/C++

1 创建C++代码 假设我们需要让Python调用的C++代码如下(文件名为demo.h): #ifndef DEMO_H #define DEMO_H using namespace std; namespace demo { class MyDemo { public...

2019-03-07 10:38:29 3150 1

原创 Python3.X使用C Extensions调用C/C++

1 创建C/C++代码文件 假设我们要在Python代码中要调用如下C语言实现的mul函数将两个整数相乘,函数add将两个整数相加,创建demo_module.c,代码如下 // pulls in the Python API #include <Python.h&...

2019-03-06 16:35:27 409 0

原创 从Tensorflow模型文件中解析并显示网络结构图(CKPT模型篇)

上一篇文章《从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)》中介绍了如何从pb模型文件中提取网络结构图并实现可视化,本文介绍如何从CKPT模型文件中提取网络结构图并实现可视化。理论上,既然能从pb模型文件中提取网络结构图,CKPT模型文件自然也不是问题,但是其中会有一些问题。 ...

2018-11-08 20:09:58 3812 0

原创 从Tensorflow模型文件中解析并显示网络结构图(pb模型篇)

Tensorflow官方提供的Tensorboard可以可视化神经网络结构图,但是说实话,我几乎从来不用。主要是因为Tensorboard中查看到的图结构太混乱了,包含了网络中所有的计算节点(读取数据节点、网络节点、loss计算节点等等)。更可怕的是,如果一个计算节点是由多个基础计算(如加减乘除等...

2018-11-07 21:15:45 4768 3

原创 Tensorflow MobileNet移植到Android

1 CKPT模型转换pb文件 使用上一篇博客《MobileNet V1官方预训练模型的使用》中下载的MobileNet V1官方预训练的模型《MobileNet_v1_1.0_192》。虽然打包下载的文件中包含已经转换过的pb文件,但是官方提供的pb模型输出是1001类别对应的概率,我们需要的是...

2018-10-23 20:18:52 1932 3

原创 MobileNet V1官方预训练模型的使用

1. 下载网络结构及模型 1.1 下载MobileNet V1定义网络结构的文件 MobileNet V1的网络结构可以直接从官方Github库中下载定义网络结构的文件,地址为:https://raw.githubusercontent.com/tensorflow/models/master/r...

2018-10-22 21:15:03 5147 8

原创 MobileNet原理+手写python代码实现MobileNet

MobileNet是针对移动端优化的卷积,所以当需要压缩模型时,可以考虑使用MobileNet替换卷积。下面我们开始学习MobileNet原理,并且先通过Tensorflow函数接口实现MobileNet,再手写python代码实现MobileNet。

2018-06-30 12:58:21 6232 0

原创 Tensorflow反卷积(DeConv)实现原理+手写python代码实现反卷积(DeConv)

上一篇文章已经介绍过卷积的实现,这篇文章我们学习反卷积原理,同样,在了解反卷积原理后,在后面手写python代码实现反卷积。 1 反卷积原理 反卷积原理不太好用文字描述,这里直接以一个简单例子描述反卷积过程。 假设输入如下: [[1,0,1], [0,2,1], [1,1,0]...

2018-01-22 19:43:48 9194 23

原创 Tensorflow卷积实现原理+手写python代码实现卷积

从一个通道的图片进行卷积生成新的单通道图的过程很容易理解,对于多个通道卷积后生成多个通道的图理解起来有点抽象。本文以通俗易懂的方式讲述卷积,并辅以图片解释,能快速理解卷积的实现原理。最后手写python代码实现卷积过程,让Tensorflow卷积在我们面前不再是黑箱子! 注意: 本文只针...

2018-01-21 17:30:50 10182 9

原创 Tensorflow将模型导出为一个文件及接口设置

在上一篇文章中《Tensorflow加载预训练模型和保存模型》,我们学习到如何使用预训练的模型。但注意到,在上一篇文章中使用预训练模型,必须至少的要4个文件。这很不便于我们的使用。有没有办法导出为一个pb文件,然后直接使用呢?答案是肯定的。

2017-11-10 21:13:44 9793 3

原创 Tensorflow加载预训练模型和保存模型

使用tensorflow过程中,训练结束后我们需要用到模型文件。有时候,我们可能也需要用到别人训练好的模型,并在这个基础上再次训练。这时候我们需要掌握如何操作这些模型数据。看完本文,相信你一定会有收获!

2017-11-10 19:07:16 74073 30

转载 TensorFlow中的队列

在上一篇文章中,虽然最终运行结果正确, 但是在运行结果最后报了一个错误: _1_input_producer: Skipping cancelled enqueue attempt with queue not closed 这主要是主线程已经关闭,但是读取数据入队线程还在执行入队。这篇文章转...

2017-09-25 11:10:01 3751 1

原创 TensorFlow读取数据

本文介绍如何使用TensorFlow来读取图片数据,主要介绍写入TFRecord文件再读取和直接使用队列来读取两种方式。假设我们图片目录结构如下...

2017-09-23 16:22:49 1767 1

原创 OpenCV 3.2.0 + opencv_contrib+VS2017

首先本文假定你的电脑已经配置好了OpenCV3.2.0,并且想要在此基础上,添加opencv_contrib。在学习图像识别中的特征点检测和匹配时,需要用到一些常用的算法如FREAK、Surf和Sift算法等,但从OpenCV3以后,这些常用的算法OpenCV的Release版本中并不存在,因为他...

2017-08-02 20:25:46 4308 4

原创 IntelliJ IDEA平台下JNI编程(五)—本地C代码创建Java对象及引用

本文学习如何在C代码中创建Java对象和对象数组,前面我们学习了C代码中访问Java对象的属性和方法,其实在创建对象时本质上也就是调用构造函数,因此本文知识学习起来也很轻松。有了前面学习数组创建的方法后,C代码创建对象数组同样很容易,下面开始学习吧~

2017-03-23 19:37:47 5747 1

原创 IntelliJ IDEA平台下JNI编程(四)—本地C代码访问JAVA对象

本文主要针对C代码中访问JVM中对象的普通变量、静态属性、普通函数、静态函数进行举例讲解,通过本文的学习将进一步理解JNIEnv在本地代码和Java之间的重要性。有了前面几篇文章的基础,学习起本文来将更容易。好了,接下来往下学习吧~

2017-03-22 21:29:51 1927 0

原创 IntelliJ IDEA平台下JNI编程(三)—字符串、数组

在前面HelloWorld篇中,自动生成的头文件对本地方法声明的形参列表中的第一个参数即为JNIEnv *。那么JNIEnv到底能用来做什么?初学JNI的时候并没有太在意,只满足于Java能调用C代码就行,而并没有深究。今天这篇文章将学习JNI本地函数中如何与Java代码中的字符串、数组相互访问(...

2017-01-13 19:11:01 2007 1

原创 IntelliJ IDEA平台下JNI编程(二)—类型映射

这篇文章是直接从《The Java™ Native Interface Programmer’s Guide and Specification》中整理,可以前往http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTO...

2017-01-12 17:08:11 1571 0

原创 IntelliJ IDEA平台下JNI编程(一)—HelloWorld篇

JNI(Java Native Interface),出于学习JNI的目的,为了能够更方便快速地运行程序。本文的是在IDEA中进行,而不在AndroidStudio,这样能够对NDK的工作过程有个更深刻的认识,同时也能对JNI的原理有更深的理解。虽然本文是HelloWorld篇,但是其中涉及到很多...

2016-12-30 11:30:10 24991 27

原创 打造酷炫AndroidStudio插件

前面几篇文章学习了AndroidStudio插件的基础后,这篇文章打算开发一个酷炫一点的插件。因为会用到前面的基础,所以如果没有看前面系列文章的话,请先返回。当然,如果有基础的可以忽略之。先看看本文实现的最终效果如下(好吧,很多人说看的眼花)

2016-12-27 20:48:04 4953 3

原创 AndroidStudio插件开发(进阶篇之Editor)

我们开发AndroidStudio插件,绝大多数插件功能是用在编辑文本上面,让用户开发更便捷。这篇文章主要是介绍Editor部分,看完之后可以开发简单实用的插件啦!在看本文之前,请先确定已经看完《AndroidStudio插件开发(Hello World篇)》和《 AndroidStudio插件开...

2016-12-26 20:16:08 5383 7

原创 AndroidStudio插件开发(进阶篇之Action机制)

从上一篇《AndroidStudio插件开发(Hello World篇)》中我们已经大致了解了Action,这篇文章继续深入探究IntelliJ IDEA插件开发中的Action机制。一个Action本质上来说就是一个Java类,并且这个类需要继承AnAction。而一个Action对应于一个菜单...

2016-12-26 14:13:11 7268 5

原创 AndroidStudio插件开发(Hello World篇)

工欲善其事必先利其器,自打从Eclipse转战AndroidStudio以来,还没彻底摆脱Eclipse。打算从开发AndroidStudio插件开始,彻底摆脱Eclipse。AndroidStudio基于IntelliJ平台,因此,开发AndroidStudio插件其本质只是开发IntelliJ...

2016-12-24 14:29:50 7158 5

原创 Android校招复习资料整理

在10月份开始就没有再参与校招了,面试过程真的很累,有时现场等面试一等就是几个小时。加上毕业论文开题的压力,所以没有继续参加各个公司笔面试了。过去几个月中,复习时也曾经到处搜资料、搜真题。毕竟从小到大考试都是有教科书复习,有老师划重点。现在找工作都没有这些,只有靠自己。所以特别理解准备找工作的小伙...

2016-11-14 11:10:28 7497 4

原创 双亲委派模型与自定义类加载器

其实,双亲委派模型并不复杂。自定义类加载器也不难!随便从网上搜一下就能搜出一大把结果,然后copy一下就能用。但是,如果每次想自定义类加载器就必须搜一遍别人的文章,然后复制,这样显然不行。可是自定义类加载器又不经常用,时间久了容易忘记。相信你经常会记不太清loadClass、findClass、d...

2016-08-24 12:38:57 4732 0

原创 Android中常见的内存泄漏

我们经常会在不经意间写出造成内存泄漏的代码,往往在代码上很难查出来。但是我们可以通过一些辅助工具来检测是否存在内存泄漏,比如通过AndroidStudio的monitors来查看内存的变化情况,或者是通过开源框架《LeakCanary》来检测。本文主要是从网络中搜索汇总一些常见的内存泄漏,一方面自...

2016-08-13 15:42:26 7663 2

原创 Android OpenGL添加纹理

上一篇文章【Android OpenGL添加光照和材料属性 】我们已经学了如何为3D模型添加光照和材料属性,使得模型看起来更有立体感。今天我们学习如何为3D模型贴上纹理,使得模型看起来更真实!目前我在网上没有找到带有纹理图片的STL模型文件,如果随便贴一张图片上去的话并不好看,看起来不会很真实。好...

2016-08-10 10:27:43 8909 10

原创 Android OpenGL添加光照和材料属性

在上一篇文章【 Android OpenGL显示任意3D模型文件 】中,我们学习了如何读取并显示STL格式的3D文件,但是,最后,看到的并没有添加光照效果,导致虽然模型在旋转,但是我们看到的画面却像一个平面。今天我们开始学习如何给模型添加灯照效果,以及如何为模型添加材料属性,使得最终看到的旋转模型...

2016-08-09 11:14:59 7112 3

原创 Android OpenGL显示任意3D模型文件

前面两篇文章我们介绍了OpenGL相关的基本知识,现在我们已经会绘制基本的图案了,但是还远远不能满足我们的需求。我们要做的是显示任意的模型,这也是本文所要做的事情。在阅读本文之前,请先确保你已经看过我前面两篇文章

2016-07-29 15:44:07 24367 22

原创 Android OpenGL 显示基本图形及相关概念解读

在上一篇文章中,我们知道了如何在Android开发一个OpenGL模型显示。但是并没有对具体模型数据进行显示,只是展示一个背景颜色而已,在本章中,我们学习如何将一个模型数据显示成一个具体的3D图形。在Android中开发OpenGL程序非常简单,但是却有很多OpenGL相关概念是必须要清楚的,了解...

2016-07-28 08:48:34 11414 12

原创 Android OpenGL入门

如今VR这么火,感觉有必要先把OpenGL学好,为以后转VR奠定一些基础。一年前,接触过Android的OpenGL,当时是实现了在Android上显示标准的3D文件(STL格式),但那个时候是在网上查看各种资料,东拼西凑,最终终于实现了将任何3D文件在Android上显示。可是,却无法理解其中的...

2016-07-28 08:31:59 23671 4

原创 Window与WMS通信过程

上一篇文章【理清Activity、View及Window之间关系】我们大致知道了Window的绘制过程,但是比较笼统,本文主要介绍Window对象与(后面缩写为WMS)之间是如何通信。毫无疑问,肯定是通过IPC(Binder机制),这点肯定都知道,但是我们要学习是的是,哪些类参与了IPC调用过程。...

2016-07-27 10:28:23 2348 4

原创 理清Activity、View及Window之间关系

View、Window以及Activity主要是用于显示并与用户交互的。这让我们在初学的时候很容易弄混,而且无法理解他们区别以及联系。本文是笔者查阅相关资料后,结合自己的理解写出来。希望能帮你梳理清楚他们各自的工作职责,以及是因为什么需求导致了它们的出现。

2016-07-26 11:33:30 13648 8

原创 Material Design Library 使用汇总

本文对Material Design Library里面的库类的使用做一个简单的汇总,方便以后能快速查询、快速上手使用。本文包括以下内容: Color Palette Toolbar AppBarLayout CollapsingT...

2016-07-25 10:41:58 7055 3

原创 ThreadLocal原理解析(2):ThreadLocalMap源码解析

在上一篇文章【ThreadLocal原理解析(1):数据存取】中,我们介绍了`ThreadLocal`读取数据的过程及原理。我们知道,`ThreadLocal`将变量的各个副本值保存在各个线程`Thread`对象实例里面。而`Thread`对象实例是通过`ThreadLocalMap`数据结构来存

2016-07-22 17:29:42 5324 5

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