- 博客(95)
- 资源 (3)
- 收藏
- 关注

原创 神经网络很萌的!
这是知乎上一个科普问答,“如何简单形象又有趣地讲解神经网络是什么?”其中王小龙先生的答案被赞了7K,我想答案被赞了7K,就一定有被赞了7K的道理,嗯....,绝对是这样。所以我就把王小龙先生的答案粘贴了下来,以便大家来共同学习。问题链接:https://www.zhihu.com/question/22553761王小龙先生知乎主页:https://www.zhihu.com/people/wan...
2018-03-29 21:41:43
753
1
原创 DeepSeek-R1系列模型对比及部署
DeepSeek-R1的蒸馏模型是通过蒸馏技术从更大版本的DeepSeek-R1模型中提取出来的紧凑高效版本。这个过程将大型模型的知识和推理能力转移到更小的模型当中,使它们能够在推理任务上表现良好,同时更加轻便、节省资源,并且更容易部署。DeepSeek-R1-Distill-Qwen系列:1.5B,7B,14B,32B。DeepSeek-R1-Distill-Llama系列:8B,70B。下面从模型特点、所需硬件、适用场景三个方面来解读DeepSeek-R1系列模型。
2025-02-10 11:03:02
3138
1
原创 session->Run问题解决方案
而是应该思考是不是在前一部分,建立会话的时候的时候出现了问题。我是在推理的时候遇到了问题,可能问题的解决办法并不在推理处。把我的代码和别人的代码对比了一下,发现了些许的不同。左边是我的代码,右边是别人的代码。
2024-12-09 16:11:51
225
原创 C++的一些知识20241206
如果try块中的代码抛出了异常,程序执行将跳转到相应的catch块进行处理,处理完毕后不会继续执行try块中的剩余代码,而是继续执行try块之后的代码12。Java的异常处理机制更加严格,要求在声明抛出异常的方法时使用throws关键字,并且在捕获异常时可以使用finally块来确保某些资源被释放4。总之,try-catch机制是C++的一部分,用于处理程序运行时的异常情况,而Java也采用了类似的机制,但两者在语法和使用上有一些差异。1、c++_string和wstring的相互转换。
2024-12-06 16:19:11
303
原创 session->Run时遇到的问题
第2个相似问题的解决办法是,在程序的exe同文件夹下,放入1.8.0版本以下的directml.dll文件,但是我搜了一下,没找到1.8.0版本以下的directml.dll文件,就在这个路径下,下载了第一个directml.dll文件放在了程序exe的同文件夹下,这个时候,不报第一种错误了,报了第二种错误。一、可以直接运行这个程序中的tflite模型,但onnx模型的错误直接跳过,在控制台的输出是下面的错误代码,但可以运行整个程序,除了onnx模型。记录问题,分析问题的解决方向,尝试解决问题。
2024-12-06 15:07:04
695
原创 创建Ort::Session对象的两种方法
1、如果按照这种方法创建Ort::Session对象,将会爆出错误。先执行到1,然后跳到2,最后爆出3的错误。2、如果改成这样的代码。
2024-12-04 16:29:34
444
原创 控制1秒30帧的视频频率
当处理完一帧图片的时候,得到elapsedTime。如果elapsedTime小于frameDuration,这个时候要让程序暂停一下,即std::this_thread::sleep_for,让进程睡一会,然后再进行下一次的工作;如果elapsedTime大于frameDuration,这样应该达不到1秒30帧的频率。1秒30帧,1秒等于1000毫秒,所以用1000除以30,得到平均一帧多长时间frameDuration。这样就能控制好,是1秒30帧的频率。全部写在主函数里,是下面的代码逻辑。
2024-11-20 10:06:19
685
原创 QNN SDK转yolov10模型遇到的问题
1、用QNN SDK的v2.23版本,qnn-tflite-converter在第一步转yolov10的tflite模型的时候,就遇到了floor_mod算子不支持的问题,换了版本v2.26,依旧是floor_mod算子不支持的问题。大致流程:tflite/onnx模型,先转成cpp和bin文件,再转成x86下的so文件,最后转成板子上运行的.serialized文件。2、floor_mod算子在tflite图中的位置,以及作用。3、退一步,用yolov10的onnx模型进行转换。
2024-10-25 10:29:48
246
原创 Ubuntu下编译opencv4.5遇到的问题及解决方法
根据您的情况,在将新的 export PATH 行添加到 .bashrc 文件时,通常最好将其放在文件的末尾。此行将确保您定义的路径被添加到系统的 $PATH 变量中,并且放在这个文件的末尾通常是一个很好的做法,因为这样不会干扰其他环境设置,并且能够保持整洁和清晰。这个问题是,两份头文件中对‘ssize_t’的定义出现了冲突,一份头文件是在windows环境下,另一份头文件是在wsl环境下的Ubuntu中。在opencv的构建过程中,在第5步进行编译的时候,出现了下面的问题。
2024-10-14 14:34:50
1311
原创 高通DSP、HVX、HMX
高通在第六代Hexagon DSP中引入HVX概念,HVX是Hexagon Vector eXtensions的简称,HVX是DSP中一个可选的协处理器,它为标量DSP单元添加了128字节的矢量处理功能(在HVX编程的时候很多处理都要128对齐)。长期以来,用于宽矢量处理的新型Hexagon VX内核一直很吸引人的用例,因为它们消耗大量电能,因此可以从CPU上卸载计算机视觉(CV)和视频。借助HVX内核,Hexagon的设计师增加了宽矢量处理,以实现更高的性能和更低的功耗。3、深度学习硬件加速。
2024-08-13 14:07:23
1576
原创 CPU、GPU等处理器介绍
CPU、GPU、IPU、NPU、TPU、LPU、MCU、MPU、SOC、DSP、FPGA、ASIC、GPP、ECU、_c++_limengshi138392-GitCode 开源社区
2024-07-29 14:07:10
204
原创 高通QNN/SNPE
SNPE/QNN 使用_高通qnn-优快云博客高通SNPE框架简介-优快云博客snpe流程扫盲_snpe c++-优快云博客SNPE 的安装和简单使用_snpe环境安装-优快云博客SNPE教程一:基本概念-优快云博客基于高通SNPE推理引擎的yolov5目标检测算法_snpe部署yolo v5-优快云博客
2024-07-17 13:28:11
716
原创 Ubuntu安装Protobuf
后来的版本中,没有了./configure文件,需要安装bazel,参照下面的官网链接。以前的版本中,有./configure,所以参照下面的博客链接。这样Protobuf就安装成功了。
2024-06-07 09:51:36
1428
原创 CUDA11.2及PaddlePaddle安装
通过界面可以看出,是Nsight Visual Studio Edition没有安装成功,因此查询到下面文章。再一次安装的时候,取消Nsight VSE的安装。然后参考PaddlePaddle的官网,进行PaddlePaddle的安装。按照我上次的博客的步骤。
2024-04-12 13:59:06
598
原创 在英文电脑系统中,中文显示??????
如果要暂时性地正常显示中文,可在cmd界面,使用chcp 936命令,这样在cmd界面可正常显示中文。如果要永久性地显示中文,可通过修改注册表来实现,如果权限受限,则不能修改注册表。这是因为在英文系统中,Console 的默认代码页是 437(OEM -United States),不支持中文输入输出,这与某个软件无关,是与系统设置有关。如果操作系统是英文的,那么无论是在cmd界面,还是在Visual Studio的调试界面,中文显示都是一串问号?
2023-09-28 13:14:59
481
原创 Linux编译和QNX编译的相关问题
总之,虽然你可以使用相同的编程语言来编写程序,但在Linux和QNX上编译同一个程序可能需要一些调整和配置,以适应不同的操作系统特性和目标环境。在QNX上,需要使用QNX Momentics IDE或相关的QNX Software Development Platform(SDP)来获取适用于QNX目标的交叉编译工具链,这是一个商用的集成开发环境,包括QCC(QNX C/C++编译器)等工具。Linux和QNX是两个不同的操作系统,它们在多个方面有显著的区别,包括设计目标、应用领域、内核架构、实时性能等。
2023-09-13 10:40:24
1527
原创 C++知识点5:如果一个函数中是if else的结构,在每个条件判断后返回值,和在函数的结尾处返回值有什么区别?
在每个条件判断后返回值通常更有利于代码的可读性和错误处理,但在某些情况下,在函数的结尾处返回值可能更合适,特别是当需要确保函数的所有逻辑都执行完毕后再返回结果时。在函数的结尾处返回值:无论条件是否满足,函数将会执行所有的条件判断和代码,然后在函数结束时才返回一个值。在函数的结尾处返回值可能会导致代码逻辑更加复杂,因为其他开发人员需要仔细查看函数的整个执行路径,以确定返回值是如何计算的。在函数的结尾处返回值可能需要更多的控制结构来处理错误和资源释放,这可能会增加代码的复杂性。
2023-09-07 15:01:36
244
原创 C++知识点4:函数参数中是否要加上引用符&
3、通过常量引用传递:如果通过常量引用传递参数(使用const &),则函数可以访问原始对象而不进行复制,但不能修改它。1、按值传递:如果按值传递参数,则会创建参数的副本并将其传递给函数。2、通过引用传递:如果通过引用传递参数(使用&),则该函数会收到对原始对象的引用。在 C++ 中,是否应在函数参数中使用引用&,取决于希望函数如何与参数交互以及是否希望避免不必要的数据复制。1、hand_center通过 const 引用传递,因为它不会在函数内部修改,并且我们希望避免复制该Vector3对象。
2023-09-05 10:13:13
812
原创 C++知识点3:静态局部变量static的使用
如果想在函数首次调用时进行初始化,然后在每次调用函数时保留其状态并允许其值在每次调用之间发生变化,可以使用静态局部变量。静态局部变量在首次函数调用时进行初始化,然后在后续的函数调用中保持其值不变。一个函数的变量只在首次使用这个函数时进行定义,后续的调用均不进行定义,然后每次调用时值会发生改变,应该使用什么样的变量?
2023-09-05 09:41:18
305
原创 C++知识点2:把数据写进switch case结构,和写进json结构,在使用上有什么区别
综上所述,Switch Case结构用于控制程序的流程,根据条件选择执行不同的代码块,而JSON结构用于存储和表示数据。它是一种轻量级的文本格式,通常用于表示结构化数据,如配置信息、API响应、或从服务器传输到客户端的数据。Switch Case结构:在Switch Case中,可以根据条件执行不同的代码块,但它并不提供一种方便的方式来检索或修改数据。它通常用于控制程序的执行流程,根据不同的条件选择不同的分支。将数据存储在Switch Case结构和JSON结构中有明显的区别,它们用于不同的目的和方式。
2023-09-05 09:28:48
355
原创 C++知识点1:多个if else if,能否替换成switch
switch 语句适用于对一个变量的等值比较,如果条件涉及到两个变量的比较,那么通常不适合使用 switch 语句。总之,如果需要比较多个变量或使用复杂的条件,if-else if 结构可能更合适,而 switch 语句适用于等值比较,并且只适用于单一变量。2、离散值:每个 if-else if 分支中的条件都应该是一些离散的值,而不是范围或复杂的条件。3、等值比较:switch 语句主要用于执行等值比较,即每个分支与变量的值进行比较。1、变量:你需要有一个可以在多个情况下进行比较的变量。
2023-08-15 14:37:16
1287
原创 在opencv中,RGB转gray,gray再转RGB,为何色彩不同?
如果你希望将灰度图像转换回原始RGB图像并保持颜色不变,是不可能的,因为在将RGB图像转换为灰度图像时,颜色信息已经丢失了。灰度图像只包含亮度信息,而不包含原始图像的红、绿、蓝通道值。如果你希望在转换过程中保留颜色信息,你需要使用其他的颜色空间,例如HSV或Lab,这些颜色空间可以保留更多的颜色信息。但是,即使使用其他颜色空间,也无法完全还原原始的RGB颜色,因为颜色信息的转换总是会引入一定的损失。在将RGB图像转换为灰度图像时,颜色信息会丢失,因为灰度图像只包含亮度信息而不包含颜色信息。
2023-07-11 13:27:00
3024
PaddleOCR构建C++测试工程所需安装包
2022-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人