-
Similarity_learning 相似性学习(Similarity learning )有监督机器学习,它与回归和分类密切相关,但目标是从实例中学习一个相似函数,以衡量两个对象的相似程度或相关程度。 Similarity learning通常有四种setups: * regression similarity learning 在这种方式中,给出的数据是 ![(x_{i}^{1},x_{i}^{2})](https://wikimedia.org/api/rest_v1/media/math/render/svg/cfa249357a1b4a7baf332041d67e480d6bb1f8fb) 和他们的相似度 . 目标 …
Read More -
Key: (1). Pose-driven, body part alignment, combine whole feature and body part feature, focus on alignment of part model, (2). Combine image label and human attributes classes, do classification with attributes and identity learning (3). Based on triplet loss, improve metric learning for an end to end learning (4). …
Read More -
CUDA 编程涉及到在不同的平台上同时运行代码:包含CPU的host 和包含GPU的device. 所以了解host和device的对性能优化是非常重要的。 2.1. Differences between Host and Device Threading resources host 上能同时运行的线程数目比较少(比如24个) device上能同时运行的线程数目比较多(数量级通常为1E3,1E4等) Threads 操作系统必须交换CPU执行通道上和下的线程以提供多线程功能。因此,上下文切换(当交换两个线程时)既慢又昂贵。 相比之下,GPU上的线程非常轻量级。在典型的系统中,成千上万的线程排队等待工作(每个线程有32个线程)。如 …
Read More -
APOD指的是Assess, Parallelize, Optimize, Deploy 如图所示,APOD过程是一个循环的过程,每次只进行一部分,从A到P到O到D,然后再进行下一轮的APOD Assess 对于一个项目,第一步要做的是接触(Assess)项目,得到项目代码中每部分的执行时间。有了这部分内容,开发者就可以找到并行优化的瓶颈所在,并开始尝试用GPU加速。 根据Amdahl's and Gustafson's laws,开发者可以确定并行优化的性能上界。 Parallelize 找到瓶颈所在并确定了优化的目标和期望,开发者就可以优化代码了。调用一些如cuBLAS, cuFFT, or Thrust …
Read More -
起因是被assgin了一个新的任务.....要死. 参考资料: 推荐系统学习笔记之三 LFM (Latent Factor Model) 隐因子模型 + SVD (singular value decomposition) 奇异值分解 基于矩阵分解的隐因子模型 实时推荐系统的三种方式 先说下我的理解... 隐因子模型(LFM)是一种推荐算法,"隐"可以理解成用户喜欢某个item的间接原因. 该算法的核心思想是转化成一个矩阵分解问题.. 然后用传统机器学习算法去优化分解得到的矩阵... 主要的优势如下: * 比较容易编程实现,随机梯度下降方法依次迭代即可训练出模型。 * 预测的精度比较高,预测准确率要高于基于 …
Read More -
由于发现cuda c++ 的 debug方式和c++ 差别很大,因此打算再开一篇,专门记录一些和error checking 以及debug有关的内容. Error checks in CUDA code can help catch CUDA errors at their source. There are 2 sources of errors in CUDA source code: 1. Errors from CUDA **API** calls. For example, a call to `cudaMalloc()` might fail. 2. Errors from CUDA **kernel** …
Read More -
参考资料: 多标签图像分类任务的评价方法-mAP wiki_Sensitivity and specificity False Positives和False Negative等含义 mean average precision(MAP)在计算机视觉中是如何计算和应用的? 首先需要了解True(False) Positives (Negatives)的含义 True Positive (真正, TP)被模型预测为正的正样本;可以称作判断为真的正确率 True Negative(真负 , TN)被模型预测为负的负样本 ;可以称作判断为假的正确率 False Positive (假正, FP)被模型预测为正的负样本; …
Read More -
先粗略读了2遍orz.可能不够严谨,先写一些high-level的理解。 对于序列或者图片数据,如果想获得一个long-range的依赖,通常的做法是循环神经网络(对于序列)或者深层的卷积神经网络(对于图片数据) 但是循环操作(当前的处理依赖于前面有限的若干个)和卷积操作都是一种局部操作。 但是这种局部操作是有一些局限的,比如不好优化,计算代价比较大等。 这篇paper提出了non-local 这个操作。 non-local操作是计算机视觉中广泛使用的一种降噪算法,即non-local mean的一般化。 non-local operation被认为是一个可以被广泛使用的操作,几乎可以和当前神经网络的其他部件结合。 含 …
Read More -
uodate:有毒吧。kernel中出问题原来是不会报错的。。。。 请教了组里的hust学长orz..、 学到了cuda-memcheck命令和cudaGetLastError来查看问题。。可以参考What is the canonical way to check for errors using the CUDA runtime API? 先放一波资料。 * <del>[An Even Easier Introduction to CUDA](https://devblogs.nvidia.com/even-easier-introduction-cuda/)</del> * …
Read More