<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fulva的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/fulva</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; fulva]]></copyright><item><title><![CDATA[全网最强ViT (Vision Transformer)原理及代码解析]]></title><link>https://blog.csdn.net/fulva/article/details/121045938</link><guid>https://blog.csdn.net/fulva/article/details/121045938</guid><author>fulva</author><pubDate>Sat, 30 Oct 2021 02:16:05 +0800</pubDate><description><![CDATA[今天我们来详细了解一下Vision Transformer。基于timm的代码。



1. Patch Embedding

Transformer原本是用来做NLP的工作的，所以ViT的首要任务是将图转换成词的结构，这里采取的方法是如上图左下角所示，将图片分割成小块，每个小块就相当于句子里的一个词。这里把每个小块称作Patch，而Patch Embedding就是把每个Patch再经过一个全连接网络压缩成一定维度的向量。



这里是VisionTransformer源代码中关于Patch Em...]]></description><category></category></item><item><title><![CDATA[一篇文章看懂Softmax]]></title><link>https://blog.csdn.net/fulva/article/details/109629967</link><guid>https://blog.csdn.net/fulva/article/details/109629967</guid><author>fulva</author><pubDate>Wed, 11 Nov 2020 20:05:30 +0800</pubDate><description><![CDATA[Softmax，这个概念参考[1]解释的非常仔细，这里只做简述，先上公式：



这公式是啥子意思呢？先看一个应用：



假如我们现在有一个分类任务，如果模型足够理想，输入一张猫图，输出[1, 0]，输入一张狗图，输出[0, 1]。通常这种任务，前面会是一个深度卷积神经网络，最后会有一个全连接层，经过这个全连接层会得到图的特征向量(embedding)，我自己喜欢管embedding叫特征向量。上图中最后得到的特征向量是[1.2, 0.3]，再经过softmax：



得到了[0....]]></description><category></category></item><item><title><![CDATA[MBMS+EMBMS]]></title><link>https://blog.csdn.net/fulva/article/details/40685361</link><guid>https://blog.csdn.net/fulva/article/details/40685361</guid><author>fulva</author><pubDate>Sat, 01 Nov 2014 21:28:46 +0800</pubDate><description><![CDATA[http://www.google.com/patents/CN101854591B?cl=zh]]></description><category></category></item><item><title><![CDATA[Linux下链接相互依赖的.a文件遇到undefined reference问题总结]]></title><link>https://blog.csdn.net/fulva/article/details/12693499</link><guid>https://blog.csdn.net/fulva/article/details/12693499</guid><author>fulva</author><pubDate>Mon, 14 Oct 2013 02:07:34 +0800</pubDate><description><![CDATA[最近，在Linux下静态链接多个相互依赖的.a文件时，遇到各种诡异的undefined reference问题，最后发现，是.a文件的链接顺序竟然非常重要！

转载自：http://ticktick.blog.51cto.com/823160/431329

最近在Linux下编程发现一个诡异的现象，就是在链接一个静态库的时候总是报错，类似下面这样的错误：







1]]></description><category></category></item><item><title><![CDATA[linux命令ORshell脚本语言OR Makefile文档里一些命令解析]]></title><link>https://blog.csdn.net/fulva/article/details/12391017</link><guid>https://blog.csdn.net/fulva/article/details/12391017</guid><author>fulva</author><pubDate>Mon, 07 Oct 2013 16:24:04 +0800</pubDate><description><![CDATA[1.将1(标准输出)2(标准出错)的信息不显示出来.
    1>/dev/null
 
                表示将命令的标准输出重定向到 /dev/null     
     2>/dev/null  
                 表示将命令的错误输出重定向到 /dev/null
    2>/dev/null &

                 &表示后]]></description><category></category></item><item><title><![CDATA[CUDA函数库调用问题解决]]></title><link>https://blog.csdn.net/fulva/article/details/12047377</link><guid>https://blog.csdn.net/fulva/article/details/12047377</guid><author>fulva</author><pubDate>Thu, 26 Sep 2013 13:59:22 +0800</pubDate><description><![CDATA[问题：
装好CUDA5.5， samples也安装成功，编译也成功了，但是在运行程序的时候出问题了。
譬如进入NVIDIA_CUDA-5.5_Samples/7_CUDALibraries/ 目录中，执行 ./conjugateGradientPrecond 
结果报错了，居然报错了：
./conjugateGradientPrecond: error while loading shar]]></description><category></category></item><item><title><![CDATA[跟我一起写Makefile 博客索引]]></title><link>https://blog.csdn.net/fulva/article/details/12024561</link><guid>https://blog.csdn.net/fulva/article/details/12024561</guid><author>fulva</author><pubDate>Wed, 25 Sep 2013 19:49:50 +0800</pubDate><description><![CDATA[最近在看这个系列的博客，但是看得挺凌乱的，就写个索引，到时候有什么不会，回头找起来也方便。


参考链接：http://blog.csdn.net/haoel/article/details/2895

跟我一起写Makefile （十）

           四、foreach 函数      这个函数是用来做循环用的http://write.blog.csdn.net/post]]></description><category></category></item><item><title><![CDATA[CUDA samples 第三章 sample reference  概况]]></title><link>https://blog.csdn.net/fulva/article/details/11744175</link><guid>https://blog.csdn.net/fulva/article/details/11744175</guid><author>fulva</author><pubDate>Mon, 16 Sep 2013 18:23:22 +0800</pubDate><description><![CDATA[示例代码分为下列几类：
1.   Simple Reference 

     基础CUDA示例，适用于初学者， 反应了运用CUDA和CUDA runtime APIs的一些基本概念.

2.   Utilities Reference
     演示如何查询设备能力和衡量GPU/CPU 带宽的实例程序。      

3.  Graphics Reference
     图]]></description><category></category></item><item><title><![CDATA[CUDA samples 2.3节 用CUDA示例来创建CUDA项目]]></title><link>https://blog.csdn.net/fulva/article/details/11736499</link><guid>https://blog.csdn.net/fulva/article/details/11736499</guid><author>fulva</author><pubDate>Mon, 16 Sep 2013 17:18:35 +0800</pubDate><description><![CDATA[2.3.1. Creating CUDA Projects for Windows
略
2.3.2
默认的samples的安装路径  是 NVIDIA_CUDA_5.5_Samples 并且示例程式的分为六类 : 0_Simple,1_Utilities, 2_Graphics, 3_Imaging, 4_Finance, 5_Simulations,6_Advanced, 7_CUDALi]]></description><category></category></item><item><title><![CDATA[Ubuntu12.04 cuda5.5安装]]></title><link>https://blog.csdn.net/fulva/article/details/11717677</link><guid>https://blog.csdn.net/fulva/article/details/11717677</guid><author>fulva</author><pubDate>Mon, 16 Sep 2013 14:12:18 +0800</pubDate><description><![CDATA[预处理步骤：
 首先确认你的电脑装了一个可以运行CUDA程序的GPU。

lspci | grep -i nvidia
另外要确认linux版本和gcc版本

具体参考链接：http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/index.html
下载Nvdia Toolkit 
下载链接：http://]]></description><category></category></item><item><title><![CDATA[系数线性系统地加速处理]]></title><link>https://blog.csdn.net/fulva/article/details/11705525</link><guid>https://blog.csdn.net/fulva/article/details/11705525</guid><author>fulva</author><pubDate>Sun, 15 Sep 2013 12:29:47 +0800</pubDate><description><![CDATA[（部分翻译）

Nvidia 数值库团队， 利用CUSPARSE和CUBLAS两个函数库针对 incomplete-LU和Cholesky-preconditioned interative methods 取得了两倍左右的加速。文章集中在介绍 Bi-Conjugate
 Gradient 和 stabilized Conjugate Gradient iterative methods 两]]></description><category></category></item><item><title><![CDATA[CUSPARSE 第三章 CUSPARAE索引和数据格式]]></title><link>https://blog.csdn.net/fulva/article/details/11587467</link><guid>https://blog.csdn.net/fulva/article/details/11587467</guid><author>fulva</author><pubDate>Fri, 13 Sep 2013 11:45:20 +0800</pubDate><description><![CDATA[(纯属自学笔记，部分翻译，不会翻译的不翻译)
3.1 索引基本格式
      该函数库支持 zero- and one-based 索引. The index base 是通过 cusparseIndexBase_t 选择, 且是一个独立参数，或者是矩阵形容器 cusparseMatDescr_t
 type的一部分
3.2 向量格式
     略
3.3 矩阵格式
     略]]></description><category></category></item><item><title><![CDATA[CUSparse 第二章 使用CUSPARSE API]]></title><link>https://blog.csdn.net/fulva/article/details/11584289</link><guid>https://blog.csdn.net/fulva/article/details/11584289</guid><author>fulva</author><pubDate>Thu, 12 Sep 2013 02:38:20 +0800</pubDate><description><![CDATA[2.1  


2.1 线程安全
      这个库是线程安全的，并且函数可以被多个主机线程调用。
2.2 标量参数
     标量参数可以在主机和设备之间传递。
     极少数函数的返回值是标量，譬如doti()和nnz().和其他返回数据类型一样，标量参数返回时要等到GPU上运作完成才能确定。所以当主机读取数据时应当要做适当的同步。
     这个特点允许CUSPARAE函数]]></description><category></category></item><item><title><![CDATA[CuSparse  第一章]]></title><link>https://blog.csdn.net/fulva/article/details/11581407</link><guid>https://blog.csdn.net/fulva/article/details/11581407</guid><author>fulva</author><pubDate>Wed, 11 Sep 2013 23:36:39 +0800</pubDate><description><![CDATA[(部分翻译)
第一章 介绍
    1. 命名惯例
       CUSPARSE 包含了一系列处理稀疏矩阵的基本的线性代数子程式。是cuda函数库的一部分，从C，C++中调用。
       该库例程可以分为四类：
             第一层：在稠密向量格式和稀疏矩阵向量格式之间的操作
             第二层：在稀疏矩阵格式和稠密向量格式之间的操作
        ]]></description><category></category></item><item><title><![CDATA[cuda 细节提要]]></title><link>https://blog.csdn.net/fulva/article/details/9786969</link><guid>https://blog.csdn.net/fulva/article/details/9786969</guid><author>fulva</author><pubDate>Tue, 06 Aug 2013 10:02:14 +0800</pubDate><description><![CDATA[double类型

若使用double的数据类型，自己编译一下程序，你会发现warning : Double is not supported. Demoting to float。但是如果你在编译时候自己加上-arch sm_13，有些gpu是支持double的。]]></description><category></category></item><item><title><![CDATA[linux主机之间远程复制目录]]></title><link>https://blog.csdn.net/fulva/article/details/9715965</link><guid>https://blog.csdn.net/fulva/article/details/9715965</guid><author>fulva</author><pubDate>Fri, 02 Aug 2013 13:44:38 +0800</pubDate><description><![CDATA[linux主机之间远程复制文件或目录命令： 
复制文件： 
（1）将本地文件拷贝到远程 
scp 文件名 --用户名@计算机IP或者计算机名称:远程路径 
（2）从远程将文件拷回本地 
scp --用户名@计算机IP或者计算机名称:文件名 本地路径 
复制目录： 
（1）将本地目录拷贝到远程 
scp -r 目录名 用户名@计算机IP或者计算机名称:远程路径 
（2）从远程将目录]]></description><category></category></item><item><title><![CDATA[linux命令创建和修改用户及密码]]></title><link>https://blog.csdn.net/fulva/article/details/9333887</link><guid>https://blog.csdn.net/fulva/article/details/9333887</guid><author>fulva</author><pubDate>Mon, 15 Jul 2013 16:43:10 +0800</pubDate><description><![CDATA[linux下创建用户
1、添加ftp用户
useradd ftpname -d /home/ftp
passwd ftppwd
以下操作都以root权限进行：
service vsftpd start 启动Linux自带的FTP服务
2. 添加普通用户
 useradd nagios –d /usr/local/nagios
chown nagios.nagios /usr/loc]]></description><category></category></item><item><title><![CDATA[Linux下C编程undefined reference to'exp'问题的解决]]></title><link>https://blog.csdn.net/fulva/article/details/9332755</link><guid>https://blog.csdn.net/fulva/article/details/9332755</guid><author>fulva</author><pubDate>Mon, 15 Jul 2013 15:30:43 +0800</pubDate><description><![CDATA[我在Linux下编了一个程序,使用数学函数,可是始终通过不了.
后来,我用exp函数,好像gcc都编译不过去.
程序很简单:
#include ;
#include ;
main()
{
printf("%f", exp(3));
} 

出错消息是:undefined reference to'exp'
这不是标准库函数吗?怎么用不了?
解决答案是：gcc -lm fil]]></description><category></category></item><item><title><![CDATA[《Programming Massively Parallel Processors》Chapter5 习题解答]]></title><link>https://blog.csdn.net/fulva/article/details/9240899</link><guid>https://blog.csdn.net/fulva/article/details/9240899</guid><author>fulva</author><pubDate>Thu, 04 Jul 2013 11:02:08 +0800</pubDate><description><![CDATA[<!--
@page
	{margin:0.79in}
p
	{margin-bottom:0.08in}
-->



自己做的部分习题解答，因为时间关系，有些马虎，也不全面，欢迎探讨或指出错误



5.1 Consider the matrixaddition in Exercise 3.1. Can one use shared memory to reduce ]]></description><category></category></item><item><title><![CDATA[__device__  __global__  __host__]]></title><link>https://blog.csdn.net/fulva/article/details/9240683</link><guid>https://blog.csdn.net/fulva/article/details/9240683</guid><author>fulva</author><pubDate>Thu, 04 Jul 2013 10:58:27 +0800</pubDate><description><![CDATA[__device__ 标记的函数从一个在器件中执行的函数呼叫，在器件中执行  



__global__ 表示该函数从一个在主机中执行的函数呼叫，在器件中执行



__host__表示在主机中呼叫，在主机中执行的函数]]></description><category></category></item></channel></rss>