C++中都有哪些可调用对象
- 函数/函数指针
- lambda表达式
- 重载了
()运算符后的对象std::bind的返回值- 所有可调用对象都可以被相应的
std::function所引用
1 |
|
C++中都有哪些可调用对象
- 函数/函数指针
- lambda表达式
- 重载了
()运算符后的对象std::bind的返回值- 所有可调用对象都可以被相应的
std::function所引用
1 | #include <iostream> |
本文的主要目的是学习和研究如何制作一个面向移动端的、高效的深度学习推理引擎,面向有一定深度学习基础知识的用户。
本文主要针对ARMv7-A架构,编译工具链为NDK19,使用VSCode进行开发,主要语言为C和ARM,测试设备为小米10。
1 | .text |
1 | export AS=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-as |
北京时间9月16号凌晨3点半,CNTK终于发布2.2版本了(话说,定的不是9月15号吗!!!),终于支持CSharp了!于是,赶紧down下来体验一把~
后来才发现,只需要装一个Nuget包就行了,Nuget里面已经集成了所需的各种依赖,傻瓜式安装(微软式风格)。不过,Gpu版的包有200多M,cpu版的也有50多M,网速慢的话可以手动拷离线包。
CNTK以计算网络为基础(与数据流图的概念很像,表达式树有助于理解这个概念),在计算之前需要先构建好计算网络,然后准备并传入数据,就可以完成计算了。乍一看,采用这种方式似乎有点麻烦,但是如果你习惯了这种方式,你就会喜欢上她。
CNTK有几个不可忽视的优点:
根据香农采样定理可知,采样频率不小于连续信号频谱中最高频率2倍的离散信号,可以使用香农插值公式不失真的还原成连续信号。
插值公式如下:
$
f(t)=\sum_{n=-\infty}^{+\infty}f[n]sinc(\dfrac{t-nM}{M})
$
其中,$f[n]$表示第$n$个采样点的值,M表示采样间隔。
代码如下:
1 | import numpy as np |

yolact是一个实时的实例分割算法,是目前分割速度最快的算法,而且生成mask的质量也很高。论文上说该算法还可以做目标检查,而且速度和准确度都能够达到(接近)YOLOv3的水平,于是就尝试了一下。将算法该成Paddle上的代码后,训练到5000多个step的时候,conf_loss突然就变成了nan。
以前遇到nan的问题都是因为学习率过大,而且是在训练初期发生的。我这里的学习率用的是0.001,应该不是学习率的问题,排除。
由于采用的是动态图编写的代码,因此可以通过一步一步的跟踪代码,来诊断错误。从loss一步步向上查找问题,发现target_logits中存在非常小的数据(负数),如下面的图:
loss代码
target_logits
target_labels
conf_loss
这个问题是由于logits太负了,导致其指数接近与0引起的。因此,首先想到的就是对logits进行裁剪,裁剪到[-10,10]之间,解决了这个问题。
注:对于
log函数,如何参数是一个负数,结果中就会出现nan,而如果参数是0,结果中就会出现inf。
不过后来训练时又出现了其他nan的问题,详细观察训练记录发现,损失会出现突然变大的情况,怀疑是异常样本引起的。于是,便记录最近100个损失,如果当前的损失大于这100个的平均值的10倍,则认为是异常数据,不训练该数据。
从pip安装的OpenCV居然无法显示菜单栏的图标,实在无法忍受,各种查资料找到了解决方法,只需卸载OpenCV,然后从conda中安装即可。
1 | pip uninstall opencv-python |
最近在学习3D相关的算法,遇到SMPL算法,不甚理解,所以打算自己实现一遍,毕竟————学习新知识的最好方法就是自己实现一下。
项目地址:https://github.com/killf/smpl
model.py是加载模型文件和算法的入口。
1 | import numpy as np |
传统的目标检测(R-CNN、Fast R-CNN、Faster R-CNN)都是从提取候选框开始的,本文介绍两种提取候选框的方法。
selectivesearch是一个用Python编写的提取候选框的方法,基于skimage,项目地址:https://github.com/AlpacaDB/selectivesearch。
首先,使用pip安装selectivesearch:
1 | pip install selectivesearch |
然后,使用如下代码提取并查看候选框:
1 | import selectivesearch.selectivesearch as ss |
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia-plus根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true