- 博客(70)
- 资源 (1)
- 收藏
- 关注
原创 vscode中调试cuda kernel
6、当命中kernel函数内断点时,右下角会出现CUDA:(0,0,0)(0,0,0),表示当前执行核函数的线程块号与块内的线程号,如果想调试特定位置的值,可以点击右下角“CUDA:(0,0,0)(0,0,0)”状态栏中的数字,在上方出现弹框,在弹框中输入比如block(2,3,0)thread(8,5,0),就可以调到相应的位置继续调试。5、开始调试:点开侧边栏运行与调试按钮,点击绿色三角形“开始调试”按钮即可开始调试,在kernel中打断点,调试时会命中到。
2024-08-17 17:56:26
864
原创 triton教程2:跑resnet50
不知从何时起,resnet50就成了很多场景下的base model,以后我们想要在triton-server部署我们自己研发的模型,那么咱就可以从部署resnet50开始。
2024-01-11 15:37:36
630
原创 triton教程1:前言、安装、跑官方例子与推荐视频
如果还是用之前的标准流程,其实也能够做到这些,比如多模型管理,每个模型独立作为一个进程启动即可达到类似效果(我感觉这样搞类似GPU的MPS技术,triton内部多模型启动也是多进程模型),还比如多机多卡,像triton的配置文件config.pbtxt里面一样,是需要指定GPU和GPU id、以及需要几个模型实例,这些在即使没有triton也是可以手动做到的,还有提高吞吐量,自己写grpc服务调度策略去配合多实例模型也是能够做到。其中localhost改成服务器的ip,8000改成你需要查看的端口;
2024-01-11 14:33:21
4761
原创 stable diffusion(1): webui的本地部署(windows)
有一个坑一直没过去,就是如果整体环境没完全装好,但是使用我自己提前创建的python虚拟环境来启动SD启动脚本stable-diffusion-webui/webui-user.bat,期间会因为某些原因(比如没梯子东西下载不下来)启动失败,但是第二次启动时就会报没有pip模块的错误,我就只能重新创建python虚拟环境,再装一遍包,这个过程很漫长很浪费时间,所以一定跟着我的脚步,一步不要落下的走,心急吃不了热豆腐。如果没有梯子,这里很慢或者根本过不去,所以参考。三、修改url地址(梯子强可不改)
2023-08-03 21:20:07
2752
2
原创 cuda 线程索引ID的计算公式(图文)
CUDA中每一个线程都有一个唯一的标识ID—ThreadIdx,这个ID随着Grid和Block的划分方式的不同而变化,这里给出Grid和Block不同划分方式下线程索引ID的计算公式。2、 grid划分成1维,block划分为2维。3、 grid划分成1维,block划分为3维。8、 grid划分成3维,block划分为2维。5、 grid划分成2维,block划分为2维。1、 grid划分成1维,block划分为1维。6、 grid划分成2维,block划分为3维。
2023-07-12 21:04:44
2017
2
原创 windows cuda c++17 cmakelist用例
我的环境是win10+gtx1060+vs2019+cuda11.2+cmake3.18.5+cpp17(指定)cmake_minimum_required(VERSION 3.5 FATAL_ERROR)project(pcl_cuda_my)#C++17add_definitions(-std=c++17 -Xcompiler "/std:c++17")option(CUDA_USE_STATIC_CUDA_RUNTIME OFF)#set(CMAKE_BUILD_TYPE Rele
2023-07-10 14:15:12
516
原创 Windows PCL点云库不同版本的切换,以及不同版本计算结果不一致的阐述
以下以_ALL结尾的环境变量基本不起作用,只是我列举的枚举,以PCL_ROOT和PCL_ROOT_ALL为例,PCL_ROOT_ALL放置了所有PCL_ROOT值的枚举,在我需要用某个特定版本时,我就可以复制其中一个值给到PCL_ROOT;平时应该用的版本是业务代码使用的版本,比如我的业务代码基本是VS2019+PCL1.11.1编译运行的,那么即使换了新电脑,在验证代码结果时,也应该以这个版本组合为主;第三张图时Path的值,当需要用到哪个版本时,应当将对应版本的路径值上移至其他版本之前;
2023-07-05 09:42:41
1626
原创 Windows PCL GPU版本编译过程
(1)win10+cuda10.0+vs2019+PCL1.11.1+cmake3.18.5(失败)原因是对于PCL1.11.1来说cuda10.0版本太低。第一次尝试(失败):使用环境(1)
2023-07-04 11:14:45
2017
2
原创 ubuntu下基础却有用的功能
修改/etc/apt/apt.conf.d/10periodic 中的update的1改成0。修改/etc/default/apport 把Enabled改为0 Enabled=0。3、禁止弹出ubuntu系统升级画面。2、禁止弹出报错页面。
2023-03-15 17:54:39
127
原创 ubuntu vscode 基本设置 和 调试设置
在ubuntu下为了调试C++代码能够和在win上的VS一样方便,就需要一个IDE,而vscode就是一个不错的选择,每次在新的机器上安装完,需要进行一些基本设置,才能够用的顺手。C/C++、C/C++ Extension Pack、C/C++ Themes、CMake、CMake Tools、Chinese(简体中文);记得一定不要选高对比度外观,否则#ifdef这个非活动模块也不能够变暗;
2023-03-15 15:12:35
1019
原创 人体关键点评价方式(不断更新)
1、PDJ(Percent of Detected Joints)解释:(可能理解还不到位,如发现错误请指正)顾名思义,检测到的关键点(占所有关键点)的比例。首先设定一个阈值(如设0.1米,那么就叫做PDJ(0.1)),当检测到的关键点(预测的关键点)与真值点的欧式距离小于阈值时,那么计数+1。对所有人的所有关键点进行比较并累加计数,最后除以所有关键点总数,即为PDJ值。参考论文:(1)Human Pose Estimation from Depth Images via Infer
2022-05-06 20:15:57
737
原创 Eigen库常用功能(好用点赞)
1、判断两个矩阵是否相等(对应元素之差的绝对值小于一个很小的浮点数)template<typename Derived>bool judgeEigenMatrixEqual(const Eigen::MatrixBase<Derived>& mat1, const Eigen::MatrixBase<Derived>& mat2, const double precision = 1e-5){ if (mat1.rows() != mat2.r
2022-02-11 09:41:31
1621
1
原创 win10下boost安装的三种方式,及cmake编译boost代码例子
一、编译与配置Boost(1)boost的下载地址:这里我下载的是boost_1_72_0.zip(170 MB)Boost Version Historyhttps://www.boost.org/users/history/Boost C++ Libraries - Browse /boost-binaries at SourceForge.netFree peer-reviewed portable C++ source librarieshttps://sourceforge.net/pro
2022-01-14 11:53:32
16983
2
原创 win10+vs2019+CGAL5.3.1+Boost1.72+QT配置及例子
1、背景最近研究三维的东西比较多,里面很多用到几何的内容,而最强大的几何库是CGAL,而CGAL库是依赖boost的,同时一些可视化的东西是依赖QT,QT是可选的,因为可视化在项目实际使用一般不是必要的,但是在调试时比较有帮助。环境:我的大环境是win10+vs2019。2、编译Boost、安装QT及相关配置(1)编译Boost(1.1)boost的下载地址:Boost Version Historyhttps://www.boost.org/users/history/Boos
2022-01-14 11:18:32
1619
2
原创 std chrono 测试例子
话不多说,直接上代码:#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <chrono>#include <ctime>#include <iomanip>#include <thread>//本文只探讨C++11中的功能,C++20该库进行了升级//官方网址https://en.cppreference.com
2022-01-03 13:22:57
1008
原创 python 常用功能
python虽强大,但偶尔使用,每次总是忘记常用api,总是翻以前写的例子,因此记录,以后每次翻这里;1、遍历目录import osdir = r'D:\doc\excel_pandas'for lists in os.listdir(dir): if lists.endswith('.py'): print(lists) print(os.path.join(dir, lists))2、遍历目录和子目录import osdir
2021-12-31 16:03:17
813
原创 std algorithm 测试例子
话不多说,直接上代码:#include <iostream>#include <string>#include <vector>#include <algorithm>#include <functional>//std算法介绍https://en.cppreference.com/w/cpp/algorithm//折叠ctrl+M+O,展开ctrl+M+Ltemplate<typename T>void te
2021-12-27 09:58:06
660
原创 std vector 测试例子
话不多说,直接上代码:#include <iostream>#include <string>#include <vector>//基于C++11及以上的vector初始化及成员函数测试int main(){ //vector官方见http://www.cplusplus.com/reference/vector/vector/,一共31个成员函数 //https://blog.csdn.net/qq844352155/category_1765
2021-12-27 09:53:14
486
原创 C++线程池简单使用,以及躺坑
1、背景自己写std::async也不难,每次调任务就写一个,而且可以让系统自己判断资源是否紧张,然后它自己创建或者不创建新的线程去执行任务,但是很多次构造和析构是消耗资源的,于是想着用线程池。2、大佬的代码参考lzc/ThreadPool,fork大佬的代码,就一个文件ThreadPool.h,看都看不懂,更别说加东西了,不过可以拿来直接用就行了。唯一能够改的就是把bool stop;改成std::atomic_bool stop。3、使用在第一次把线程池加到我工程的时候,
2021-12-24 18:08:31
1229
原创 win脚本
1、bat无黑框运行新键一个.vbs文件里面填写内容set ws=WScript.CreateObject("WScript.Shell")ws.Run "test.bat",0
2021-11-18 19:43:18
1853
原创 VS打开release下的调试模式
因为debug速度太慢了,但是又需要调试信息,所以有此,只需要三步操作即可:(注意后面需要生成实用的exe的时候要关闭这些,否则速度可能会慢一些)1、2、3、
2021-11-18 11:45:01
343
原创 测试使用tensorflow官方量化目标检测模型记录(mobilenet ssd)
1、背景安卓系统上调用nnapi加速的项目,实测板子使用uint8推理才能最大化利用板子。2、
2021-06-05 17:40:17
1159
2
原创 记录用bazel编译tensorflow源码
1、各软件版本ubuntu18.04cuda10.0+cudnn7.6tensorflow-1.15.5
2021-06-05 13:49:18
595
原创 android stdio编译release程序
1、背景想把自己生成的apk文件放到安卓上install,但是发现app\build\outputs\apk目录下居然只有debug文件夹,说明一直以来都是在跑debug的ap
2021-06-02 11:55:55
535
原创 Ubuntu Cuda版本切换
一、前言windows cuda版本切换见:https://blog.csdn.net/luozhichengaichenlei/article/details/104678203;因为我一直用cuda10.0,但是现在很多东西需要更新版本的cuda,比如tensorflow2.3就需要cuda10.1;为了能够在工作中更方便,准备在电脑上安装两个及以上的cuda版本,然后应对不同的项目进行不同cuda版本切换;二、步骤参考网址:https://blog.csdn.net/qq_2.
2021-05-27 15:44:40
748
原创 mediapipe教程6:在安卓上运行mediapipe的poseTracking
一、前言见mediapipe教程4;准备,官方给的mediapipe/examples/android/src/java/com/google/mediapipe/apps/posetrackinggpu/MainActivity.java并没有调相机的code,只有打印输出关键点坐标的code,并且我在后续把调用相机的code和官方输出关键点坐标的这些code加到我的android stdio工程后,运行时发现官方打印输出关键点坐标的code有问题;于是我在网上找到了可用代码,分别是下面两个地址,
2021-05-27 09:19:10
4603
4
原创 mediapipe教程5:在安卓上运行mediapipe的handTracking
一、前言和准备见mediapipe教程4,这篇博客开门见山,直接来步骤;二、在安卓上运行mediapipe的handTracking参考网址:步骤:https://google.github.io/mediapipe/getting_started/android_archive_library.html代码:https://gitee.com/luo_zhi_cheng/mediapipe_multi_hands_tracking_aar_example实际步骤(与教程..
2021-05-26 14:55:13
1793
2
原创 mediapipe教程4:在安卓上运行mediapipe的faceDetection
一、前言(1)当前教程的环境是在之前的教程之上;(2)如mediapipe教程3所说,允许两种方式编译安卓程序,而mediapipe教程3是用cmd编译,本节开始都是在Android Stdio中编译;(3)网上大部分人都是在windows下使用Android Stdio,而我是在ubuntu下使用,也成功了;二、准备(1)安装Android Stdio,我下载的版本是android-studio-ide-201.7199119-linux.tar.gz,安装参考:https://.
2021-05-26 14:29:36
2985
6
原创 mediapipe教程3:在安卓上运行mediapipe的helloworld
一、前言mediapipe教程2中提到,我最终需要在安卓设备上运行,因此本节开始,我们开始研究mediapipe的安卓相关内容;二、准备(1)我们本节的步骤是在ubuntu下编译出.apk文件,然后连接安卓设备,用adb命令在安卓设备上生成应用程序,再开启使用即可;(2)与mediapipe教程2一样,需要多注意两个重要网址:官网的代码、官网的教程;还有mediapipe的版本、bazel的版本与安装配置、其他库安装都与mediapipe教程2一样;(3)安装java_runtim.
2021-05-25 20:32:39
2720
6
原创 mediapipe教程2:linux桌面程序编译与运行
一、前言mediapipe教程1中写了python相关代码,但是因为我最终是安卓系统,不能用python去运行,因此需要继续研究mediapipe;但是我对安卓系统也一点都没接触过,因此这一个博客主要熟悉mediapipe,研究如何编译与运行mediapipe的linux桌面程序;二、准备两个重要网址:(1)https://github.com/google/mediapipe(官网的代码)(2)https://google.github.io/mediapipe/(官网的教程.
2021-05-25 19:59:48
2582
原创 mediapipe教程1:python代码
一、背景因为领导想用这个东西,因此开始研究,首先对于mediapipe的介绍不多说,百度一大堆,主要是(1)跨平台,(2)对于移动设备友好,实时性足够二、环境因为对这东西不了解,这里先用python代码简单的看看效果,代码的参考网址:(1)https://blog.csdn.net/javastart/article/details/116423090(2)https://google.github.io/mediapipe/solutions/holistic例子中只用到.
2021-05-25 19:29:23
13450
8
原创 github/gitee等退回到指定版本
参考https://blog.csdn.net/JeffersonZHabc/article/details/89841580(1)git log:查看版本号(2)git reset --hard (你想要退回的版本号)(3)再使用git log查看你当前项目的版本号是不是你想要的。
2021-03-25 14:06:47
4299
原创 jetson nx双网卡使用
jetson nx开发板是有两个网卡的,一个是连有线,一个是无线连wifi通常这样设置网络就能够将两个都同时用起来:(1)有线必须手动设置ipv4网络地址(2)无线设置为自动获取即可然后重启网络测试,(1)ping baidu.com(2)ping 172.16.9.6(内网IP)(3)打开网页输入网址...
2021-03-19 13:34:35
1627
1
原创 linux 执行su 后的脚本内容,以及开机自启动时su如何不用输入密码
问题:假设有脚本需要su权限来执行,于是你的脚本内容如下,发现并没有执行su后面的语句。# test.shsuecho 1echo 2参考:https://zhidao.baidu.com/question/378076326.html和https://blog.csdn.net/linucle/article/details/43967237(待参考)分成两个脚本:一个脚本是su后面的执行所有语句# test2.shecho 1echo 2另一个脚本是开...
2021-03-18 14:17:00
1547
原创 ubuntu x86运行nvidia video_codec_sdk
以Video_Codec_SDK_10.0.26为例子首先是nvidia的显卡驱动、cuda10.0的安装就不赘述了;在ubuntu下需要安装vulkan,安装方式为:sudo add-apt-repository ppa:graphics-drivers/ppasudo apt upgradesudo apt-get install vulkan-tools vulkan-utils libvulkan1 libvulkan-dev(如果装不下来就一直装,会慢慢装成功的)..
2021-03-08 12:55:14
1488
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人