
ML
perfects110
这个作者很懒,什么都没留下…
展开
-
基于 Pytorch 的模型量化实现
CNN网络结构虽然使得人工智能算法跨入一个新的台阶,但是其计算复杂度与其数据类型成为其于边缘设备上部署的一道门槛;为此,剪枝算法、蒸馏算法、轻量型网络、量化算法相应提出,本文将着重介绍模型量化算法pytorch实现。 量化算法涉及到的两个概念对称量化与非对称量化,主要在zero_point 上体现,具体介绍本文将不再赘述。当前常用的量化方法主要由后训练动态量化、后训练静态量化、量化感知训练,接下来将详细介绍后两种方法实现。 介绍前,需要注意的是Pytorch在1.3后开始对量化进...原创 2020-09-25 22:12:21 · 6745 阅读 · 27 评论 -
基于深度学习关键点检测算法综述
关键点检测是计算机视觉中比较重要的任务之一,当前主流的算法可总结如下: 1、基于coordinate 即将卷积神经网络(CNN)的特征通过一个全连接层来回归关键点的坐标和对应的置信度信息,在对卷积特征的利用上,逐渐由单层特征到金字塔特征转换,有代表性的算法为人脸关键点检测的PFLD算法,全称为:《PFLD:A Practical Facial Landmark Detector》 2、基于heatmap 顾名思义,其核心思想是将输出...原创 2020-09-19 00:49:05 · 9062 阅读 · 0 评论 -
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 · 1975 阅读 · 7 评论 -
[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 · 128 阅读 · 0 评论 -
统计数字中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 · 843 阅读 · 0 评论 -
[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 · 189 阅读 · 0 评论 -
买卖股票的最佳时机 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 · 110 阅读 · 0 评论 -
字符串最小变换次数
给定两个字符串,已知可以使用三种方式进行变换,即,插入、删除、更改,使两个字符串相似,输出对应的最小变换次数。输入样例:hellohelle输出1C++ 代码#include <iostream>#include <vector>using namespace std;int main(){ string str1, s...原创 2019-09-01 16:34:20 · 1867 阅读 · 0 评论 -
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 · 587 阅读 · 0 评论 -
寻找丑数
#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 · 110 阅读 · 0 评论 -
求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 · 109 阅读 · 0 评论 -
和为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 · 109 阅读 · 0 评论 -
判断二叉树是否是平衡二叉树
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 · 107 阅读 · 0 评论 -
二叉树的深度
/*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 · 152 阅读 · 0 评论 -
统计一个数在排序数组中出现的次数
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 · 180 阅读 · 0 评论 -
最小的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 · 112 阅读 · 0 评论 -
[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 · 109 阅读 · 0 评论 -
[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 · 114 阅读 · 0 评论 -
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 · 264 阅读 · 0 评论 -
EM 算法
EM算法是什么?期望最大EM算法是一种从不完全数据或有数据丢失的数据集(存在隐含变量)中求解概率模型参数的最大似然估计方法。举个例子两枚硬币A和B,假定随机抛掷后正面朝上概率分别为PA,PB。为了估计这两个硬币朝上的概率,咱们轮流抛硬币A和B,每一轮都连续抛5次,总共5轮:硬币A被抛了15次,在第一轮、第三轮、第五轮分别出现了3次正、1次正、2次正,所以很容易估计出...转载 2019-09-24 11:26:35 · 260 阅读 · 0 评论 -
轻便网络之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 · 390 阅读 · 0 评论 -
[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 · 139 阅读 · 0 评论 -
MobileNet 解析
论文:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications代码:GitHub可搜Caffe、Tensorflow等版本 MobileNet是一种针对于移动端的轻便型深度网络,下图是该网络的一种效果图 相对于传统的卷积神经网络,Mob...原创 2019-09-18 13:06:52 · 672 阅读 · 0 评论 -
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 · 211 阅读 · 0 评论 -
LSTM 在 Caffe 中使用教程和源码详细解析
https://blog.youkuaiyun.com/mounty_fsc/article/details/53114698原创 2019-09-09 16:11:28 · 846 阅读 · 0 评论 -
TensorFlow 教程
发现一个比较好的TensorFlow教程,了解一下http://www.tensorfly.cn/tfdoc/tutorials/recurrent.html原创 2019-09-07 17:33:32 · 139 阅读 · 0 评论 -
[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 · 146 阅读 · 0 评论 -
[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 · 236 阅读 · 0 评论 -
最后一块石头的重量
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 · 308 阅读 · 0 评论 -
剪绳子
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 · 160 阅读 · 0 评论 -
数组中出现次数超过一半的数字
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 · 102 阅读 · 0 评论 -
字符串的排列
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 · 123 阅读 · 0 评论 -
GBDT算法原理以及实例理解
http://blog.youkuaiyun.com/zpalyq110/article/details/79527653https://blog.youkuaiyun.com/zpalyq110/article/details/79527653转载 2019-07-15 17:46:39 · 419 阅读 · 0 评论 -
决策树构造方法详细过程
决策树(decision tree)(一)——构造决策树方法转载自:https://blog.youkuaiyun.com/u012328159/article/details/70184415 说明:这篇博客是看周志华老师的《机器学习》(西瓜书)的笔记总结,虽然自己写了很多总结性文字包括一些算法细节,但博客中仍有部分文字摘自周老师的《机器学习》书,仅供学习交流使用。转载博客务必注明出处和作者,谢谢...转载 2019-07-15 15:41:06 · 5516 阅读 · 0 评论 -
leetcode 报数
代码如下:class Solution {public: vector<int> fun(int n){ if (n == 1){ return vector<int>(1, 1); } vector<int> data = fun(n - 1); int t...原创 2019-07-10 20:39:18 · 124 阅读 · 0 评论 -
百度面试编程题(回去等通知的那种)
面了二面,面试主要问题除了项目以外,还有三道编程题目,1,挨行打印二叉树,2, 考虑特殊字符的将字符串转化为整型。3,计算任意输入的四个数通过加减乘除后是否是24,/** Function: 计算四个数通过加减乘除后是否是24*/#include <iostream>#include <vector>using namespace std...原创 2019-07-09 20:37:21 · 630 阅读 · 0 评论 -
编译opencv2.4.10时出现错误:error: ‘NppiGraphcutState’ has not been declared
产生原因: cuda8.0较新,opencv-2.4.10较早,要编译通过需要修改源码:解决方法:将/data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp中#if!defined(HAVE_CUDA)||defined(CUDA_DISABLER)修改为#if!defined(HAVE_CUDA)...原创 2019-06-11 16:36:35 · 340 阅读 · 0 评论 -
Unsupported gpu architecture 'compute_11'解决方法
ubantu 下编译安装Opencv时出现Unsupported gpu architecture 'compute_11' 错误解决方案一(亲试):cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..解决方案二:cmake -D CMAK...转载 2019-06-11 16:24:34 · 791 阅读 · 0 评论 -
ffmpeg中 YUV 转 H264命令
ffmpeg -i ${input_name} -vf scale=340:256,setsar=1:1 -q:v 1 -c:v mpeg4 -f rawvideo ${out_name}原创 2019-05-09 17:51:52 · 2237 阅读 · 0 评论 -
帮忙下载Charades数据集
如题,有需要下载该数据集的童鞋,可以使用博客联系我^_^原创 2019-05-06 18:14:01 · 1636 阅读 · 39 评论