- 博客(85)
- 收藏
- 关注
原创 基于 Pytorch 的模型量化实现
CNN网络结构虽然使得人工智能算法跨入一个新的台阶,但是其计算复杂度与其数据类型成为其于边缘设备上部署的一道门槛;为此,剪枝算法、蒸馏算法、轻量型网络、量化算法相应提出,本文将着重介绍模型量化算法pytorch实现。 量化算法涉及到的两个概念对称量化与非对称量化,主要在zero_point 上体现,具体介绍本文将不再赘述。当前常用的量化方法主要由后训练动态量化、后训练静态量化、量化感知训练,接下来将详细介绍后两种方法实现。 介绍前,需要注意的是Pytorch在1.3后开始对量化进...
2020-09-25 22:12:21
6629
27
原创 基于深度学习关键点检测算法综述
关键点检测是计算机视觉中比较重要的任务之一,当前主流的算法可总结如下: 1、基于coordinate 即将卷积神经网络(CNN)的特征通过一个全连接层来回归关键点的坐标和对应的置信度信息,在对卷积特征的利用上,逐渐由单层特征到金字塔特征转换,有代表性的算法为人脸关键点检测的PFLD算法,全称为:《PFLD:A Practical Facial Landmark Detector》 2、基于heatmap 顾名思义,其核心思想是将输出...
2020-09-19 00:49:05
8486
原创 YOLOV3 转ONNX,于移动端应用
@[TOC]YOLOV3 转ONNX,于移动端应用GitHub代码最近整理了在不使用GPU情况下,于x86下进行神经网络前向推理加速的代码,具体链接可见上方。这里的代码是目标检测相关的,基于pytorch 的 yolov3,因为pytorch 无法直接转换至openvino对应模型,故模型转换时,采用了如下步骤,pytorch >> onnx >> openvino。onnx 结构可以视作与Tensorflow、Caffe类似的静态图,故在转换时将yolov3中用到的锚框直接
2020-08-16 11:01:08
1900
7
原创 Fast-RCNN
论文:Fast R-CNN代码地址:https://github.com/rbgirshick/fast-rcnn先说一下性能吧,Fast R-CNN较R-CNN在速度上提升到了5帧/S并且在mAP上也大约提升了3.2%.好了,现在我们来看看Fast R-CNN的神奇之处吧。Fast R-CNN的框图如下图所示: 从图中我...
2019-10-10 21:22:23
211
转载 Ubantu中sudoers被玩坏的解决方法
练习安装odoo的时候,创建了一个odoo用户,想把它赋予sudo权限,然而,编辑的时候不留意,改坏了,导致sudo无法使用,无法编辑sudoers文件修改回来。总提示如下信息:>>> /etc/sudoers: syntax error near line 22 <<<sudo: parse error in /etc/sudoers near l...
2019-10-05 19:10:36
391
转载 EM 算法
EM算法是什么?期望最大EM算法是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。举个例子两枚硬币A和B,假定随机抛掷后正面朝上概率分别为PA,PB。为了估计这两个硬币朝上的概率,咱们轮流抛硬币A和B,每一轮都连续抛5次,总共5轮:硬币A被抛了15次,在第一轮、第三轮、第五轮分别出现了3次正、1次正、2次正,所以很容易估计出...
2019-09-24 11:26:35
209
原创 轻便网络之SqueezeNet
论文:SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE代码: https://github.com/DeepScale/SqueezeNet前面介绍过MobileNet,这里介绍另一个轻便型网络SqueezeNet。这是一个号称能够将AlexNet的网络参数压缩51...
2019-09-20 16:33:37
350
原创 [LeetCode]无重复字符的最长子串
题目如题:输入样例:abba输出:2C++ 代码class Solution {public: int lengthOfLongestSubstring(string s) { map<char, int> data; int max = 0; int i, j; for(i = 0, ...
2019-09-20 15:19:32
107
原创 MobileNet 解析
论文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications代码:GitHub可搜Caffe、Tensorflow等版本 MobileNet是一种针对于移动端的轻便型深度网络,下图是该网络的一种效果图 相对于传统的卷积神经网络,Mob...
2019-09-18 13:06:52
607
原创 FPN 检测网络解析
论文题目:Feature Pyramid Networks for Objection Detection代码: GitHub 可搜 作者在文中指出了一种基于特征金字塔结构的目标检测算法,但是骨干网络结构还是基于faster-rcnn。上图便是作者在文中指出的特征金字塔的bottom-up,top-down结构。将bottom-up中涉及到的feature map依据先后...
2019-09-12 18:04:19
381
原创 R-CNN 检测网络解析
原论文标题:Rich feature hierarchies for accurate object detection and semantic segmentation会议:Computer Vision and Pattern Recognition(CVPR)源代码:http://www.cs.berkeley.edu/~rbg/rcnn 作者在文中提出了一种基于深...
2019-09-11 13:23:36
185
原创 LSTM 在 Caffe 中使用教程和源码详细解析
https://blog.csdn.net/mounty_fsc/article/details/53114698
2019-09-09 16:11:28
808
原创 TensorFlow 教程
发现一个比较好的TensorFlow教程,了解一下http://www.tensorfly.cn/tfdoc/tutorials/recurrent.html
2019-09-07 17:33:32
110
原创 [LeetCode]跳跃游戏
class Solution {public: bool canJump(vector<int>& nums) { int maxm = 0; for(int i = 0 ; i < nums.size() ; i++){ if(i <= maxm) maxm = m...
2019-09-07 14:29:49
121
原创 [LeetCode] 拼车
class Solution {public: bool carPooling(vector<vector<int>>& trips, int capacity) { vector<int> data(1000, 0); for(int i = 0; i < trips.size(); i++){ ...
2019-09-07 14:10:17
204
原创 最后一块石头的重量
class Solution {public: int lastStoneWeight(vector<int>& stones) { make_heap(stones.begin(), stones.end(), [](int x, int y){ return x < y? true: false; })...
2019-09-07 13:47:19
272
原创 剪绳子
class Solution {public: int cutRope(int number) { vector<int> dp(number+1, 0); for(int i = 1; i < number+1; i++){ for(int j = 1; j <= i/2; j++){ ...
2019-09-06 16:07:48
134
原创 [LeetCode] 旋转数组
class Solution {public: void rotate(vector<int>& nums, int k) { if(nums.size() == 0) return; //k = nums.size() - k; k %= nums.size(); k = nu...
2019-09-06 13:40:05
89
原创 [LeetCode] 杨辉三角
class Solution {public: vector<vector<int>> generate(int numRows) { vector<vector<int>> tmp_data; if(numRows == 0) return tmp_data; tm...
2019-09-06 13:16:43
87
原创 [LeetCode] 最长上升子序列
class Solution {public: int lengthOfLIS(vector<int>& nums) { if(nums.size() == 0) return 0; vector<int> dp(nums.size(), 1); int maxm = 1; ...
2019-09-03 16:32:51
107
原创 统计数字中1的个数
统计数字中1的个数最粗鲁的方法就是使用/、%运算符挨个数字的运算;这里采用的方法是根据运算规律来统计。class Solution {public: int countDigitOne(int n) { int cnt = 0; for(long i = 1; i <= n; i*=10){ int a = n /i...
2019-09-03 15:55:28
783
原创 [Update]快速排序
#include <iostream>#include <vector>using namespace std;int partition(int arr[], int left, int right){ int i = left +1; int j = right; while(i <= j){ while(arr[i] &l...
2019-09-01 22:10:20
167
原创 买卖股票的最佳时机 III
题目描述给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获得的最大利润。你最多可以完成两笔交易。输入样例:[3,3,5,0,0,3,1,4]输出:6C++ 代码class Solution {public: int maxProfit(vector<int>& prices) { i...
2019-09-01 16:53:18
92
原创 字符串最小变换次数
给定两个字符串,已知可以使用三种方式进行变换,即,插入、删除、更改,使两个字符串相似,输出对应的最小变换次数。输入样例:hellohelle输出1C++ 代码#include <iostream>#include <vector>using namespace std;int main(){ string str1, s...
2019-09-01 16:34:20
1796
原创 0-1背包问题-动态规划
问题描述:给定n种物品和一背包。物品i的重量为wi,其价值为vi, 背包容量为c。问应如何选择装入背包中的物品,使得背入背包的物品的总价值最大?输入样例1:3 104 35 46 5输出 11输入样例2:5 106 23 25 64 56 4输出 15代码:#include <iostream> #inclu...
2019-09-01 15:54:12
563
原创 寻找丑数
#include <iostream>#include <vector>using namespace std;bool Judge(int n){ if (n == 1) return true; return (n %2 == 0 && Judge(n / 2)) || (n % 3 == 0 &&am...
2019-08-26 10:23:44
76
原创 求1+2+3+...+n
class Solution {public: int Sum_Solution(int n) { int tmp = 0; (n & 0xFFFF) && (tmp = n + Sum_Solution(n-1)); return tmp; }};
2019-08-17 17:25:43
90
原创 和为S的两个数
class Solution {public: vector<int> FindNumbersWithSum(vector<int> array,int sum) { int i = 0, j = array.size() -1; vector<int> result; if(j <= 0) ...
2019-08-17 17:17:00
91
原创 判断二叉树是否是平衡二叉树
class Solution {public: int Deepth(TreeNode* pRoot){ if(pRoot == NULL) return 0; int left = Deepth(pRoot -> left); int right = Deepth(pRoot -> right); ...
2019-08-17 16:43:05
85
原创 二叉树的深度
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: int TreeDepth(TreeNode* pR...
2019-08-17 16:36:13
129
原创 统计一个数在排序数组中出现的次数
class Solution {public: int GetIndex(vector<int> data, int k){ if(data.size() == 0) return 0; int left = 0, right = data.size() -1; int mid = (left + ri...
2019-08-17 16:30:14
156
原创 最小的K个数
class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> max_heap; if(k > input.size()) return max_he...
2019-08-17 12:54:14
94
原创 数组中出现次数超过一半的数字
class Solution {public: int MoreThanHalfNum_Solution(vector<int> numbers) { if(numbers.size() == 0) return 0; int num = numbers[0], count = 1; for(int i...
2019-08-17 12:43:48
84
原创 字符串的排列
class Solution {public: vector<string> Fun(string input){ vector<string> tmp; // tmp.insert(tmp.end(), input.begin(), input.end()); tmp.push_back(input);...
2019-08-17 12:30:28
100
原创 二叉搜索树与双向链表
方法一:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: TreeNode* Converts(T...
2019-08-17 10:47:00
81
原创 二叉树中和为某一值的路径
class Solution {public: bool Search(vector<vector<int> > & data, vector<int> one, TreeNode* root, int expectNumber){ if(root == NULL) return false; ...
2019-08-17 00:42:20
71
原创 二叉搜索树的后序遍历序列
class Solution {public: bool Judge(vector<int> sequence){ if(sequence.size() <= 1) return true; bool first = false; vector<int>::iterator tmp_i...
2019-08-16 23:48:15
66
原创 从上往下打印二叉树
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<int> PrintFro...
2019-08-16 23:08:02
71
原创 栈的压入、弹出序列
class Solution {public: bool IsPopOrder(vector<int> pushV,vector<int>& popV) { if(pushV.size() == 0) return true; vector<int>::iterator it = pus...
2019-08-16 22:52:44
87
原创 顺时针打印矩阵
class Solution {public: vector<int> printMatrix(vector<vector<int> > matrix) { bool fangxiang = true; int x = 0, y = 0; vector<int> result; ...
2019-08-16 21:49:12
72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人