自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(192)
  • 收藏
  • 关注

原创 SpringBoot 项目代码报错:org.apache.ibatis.binding.BindingException: Parameter ‘offset‘ not found. Availabl

问题的原因在于 MyBatis 直接从参数列表中获取参数的方式。当有多个参数时,没有使用 @Param 注解来显式指定参数名称,因此 MyBatis 默认使用 param1 和 param2,而不是 offset 和 pageSize。这是 MyBatis 中常见的参数映射问题。这个问题通常是因为 MyBatis Mapper 中的 SQL 语句没有正确引用传递的参数,或者传递的参数名称与 SQL 中的占位符不匹配。

2024-09-11 16:03:11 152 1

原创 Windows环境如何安装maven并配置IDEA

运行Springboot项目时,出现了依赖错误,最后排查可能是maven安装出错了。MAVEN版本要和IDEA版本对应,maven发行版本不能比idea版本高,可以在idea查看内置的maven版本。点击 File–>Settings,在设置页面搜索maven,如下图。没有安装maven之前,Maven home path那里应该是Bundled(Maven3),下面的Version代表内置的版本。为了保险起见,最好在MAVEN官网上下载不大于该内置版本的压缩包。

2024-08-22 09:56:49 686

原创 MySQL 忘记密码怎么重置修改密码

成功输出端口、版本等信息之后,再次打开一个新的cmd窗口(注意:之前的窗口不要关闭)解决方法:使用快捷键Win+R,输入services.msc,进入本地服务。如果出现以上错误,是因为不能使用mysql,可能是其他服务名称。设置成功显示如上页面,数据库更改了配置。成功输出如上页面,说明正确重置了密码。然后退出MySQL,输入quit命令。出现如下界面代表成功停止服务。

2024-08-21 09:32:34 373

原创 游游的you矩阵

这道题我的思路是先找出三个字符中数量最少的两个字符,然后在讨论这两个字符可能组合成水平,垂直以及斜边的情况,以此来判断符合直角三角的另一个字符,若符合,则计数加1。但是这段代码始终怎么优化都不能全部AC,如果有更好的优化算法可以在评论区跟我说。接下来的n行,每行输入一个长度为m的字符串,代表游游拿到的矩阵。第一行输入两个正整数n,m,用空格隔开,代表矩阵的行数和列数。输出一个整数,代表满足条件的三角形个数。

2024-04-15 17:31:54 635

原创 因子化简——CSP认证题目

小 P 同学在学习了素数的概念后得知,任意的正整数 n都可以唯一地表示为若干素因子相乘的形式。反映了该素因子对于 n的重要程度。最终剩余项的乘积就是 n简化后的值,如果没有剩余项则认为简化后的值等于1。每个查询包含两个正整数 n 和 k,要求计算按上述方法将 n 简化后的值。接下来 q 行每行包含两个正整数 n 和 k,表示一个查询。输入第一行包含一个正整数 q,表示查询的个数。小于 k,则认为该素因子不重要,可以将。每行输出一个正整数,表示对应查询的结果。小 P 认为,每个素因子对应的指数。

2024-03-10 17:16:20 1151

原创 仓库规划——CSP认证

具体来说,每个仓库i 均可能有一个上级仓库 j,满足:仓库 j位置编码的每一维均大于仓库 i位置编码的对应元素。比如编码为 (1,1,1)的仓库可以成为 (0,0,0) 的上级,但不能成为 (0,1,0)的上级。如果有多个仓库均满足该要求,则选取其中编号最小的仓库作为仓库 i的上级仓库;如果没有仓库满足条件,则说明仓库 i是一个物流中心,没有上级仓库。,分别代表仓库的个数、位置编码的维数以及仓库的位置编码列表。现给定 n个仓库的位置编码,试计算每个仓库的上级仓库编号。列表,即每个仓库的上级仓库编号。

2024-03-05 20:40:16 483

原创 昇思MindSpore技术公开课——第三课:GPT

GPT代表“生成预训练”(Generative Pre-trained Transformer)。GPT模型是由OpenAI公司开发的一种基于Transformer架构的人工智能语言模型。它在大规模文本数据上进行预训练,学习了丰富的语言知识和语境,并能够执行多种自然语言处理任务。GPT模型的核心思想是在大规模语料库上进行预训练,使其具备对语言的理解和生成能力。它采用Transformer架构,该架构利用自注意力机制来处理输入序列,使得模型能够捕捉长距离依赖关系。

2024-01-17 17:09:23 1316

原创 Visual Saliency Transformer (VST) 源代码实现

VST Encoder: 使用 T2t_vit_t_14 模型(Transformer-based Vision Transformer with token size 14)分别对输入的图像(image_Input)和深度信息(depth_Input)进行编码,提取不同层次的特征表示(rgb_fea_1_16、rgb_fea_1_8、rgb_fea_1_4、depth_fea_1_16)。提交好的镜像,我们可以在后续创建训练任务的时候选中这个镜像,这样我们就可以直接开始训练模型了。

2024-01-04 16:22:39 1122

原创 Transformer

摘要:Transformer是一种神经网络结构,由Vaswani等人在2017年的论文中提出,用于处理机器翻译、语言建模和文本生成等自然语言处理任务。

2024-01-03 17:57:19 982

原创 使用LangChain框架加载与解析txt,markdown,pdf,jpg格式文档

使用LangChain库进行文档加载,对于txt,md,pdf格式的文档,都可以用LangChain类加载,UnstructuredFileLoader(txt文件读取)、UnstructuredFileLoader(word文件读取)、MarkdownTextSplitter(markdown文件读取)、UnstructuredPDFLoader(PDF文件读取),对于jpg格式的文档,我这里提供了一种思路。

2024-01-03 10:48:22 6794 1

原创 开源大模型应用开发

ChatGLM3-6B 是一个基于 Transformer 的预训练语言模型,由清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练发布。该模型的基本原理是将大量无标签文本数据进行预训练,然后将其用于各种下游任务,例如文本分类、命名实体识别、情感分析等。ChatGLM3-6B 的核心功能是语言建模,即通过预测下一个单词或字符来建立一个语言模型。该模型采用了 Transformer 结构,这是一种基于自注意力机制的深度神经网络结构,能够有效地捕捉文本中的长期依赖关系。

2024-01-03 10:04:25 813

原创 【2023CANN训练营第二季】——Ascend C算子开发(进阶)微认证

build_out文件夹是后面编译部署生成的,这里我们主要要修改的文件有:CMakePresets.json,op_host目录下的sinh_custom_tiling.h、sinh_custom.cpp、op_kernel目录下的sinh_custom.cpp。参考tensorflow的Sinh算子,实现Ascend C算子Sinh,算子命名为SinhCustom,并完成aclnn算子调用相关算法: sinh(x) = (exp(x) - exp(-x)) / 2.0。

2023-12-21 23:20:00 4146 4

原创 【2023CANN训练营第二季】——Ascend C代码实操分享

以上就是Ascend C代码实操课的作业分享,其实理解了算子开发的流程之后,做起来就没那么吃力了,归纳起来就是先用msopgen工具生成算子工程文件,然后分别修改op_kernel侧和op_host侧的代码,然后进行编译和部署就可以了,后续还可以通过aclnn调用的方式调用AddCustom算子工程。

2023-12-21 19:00:51 1127

原创 快速排序非递归实现

总体而言,非递归实现提供了一种更直接、更灵活地控制算法流程和资源使用的方式,尤其在对性能和内存使用有严格要求的情况下,非递归实现可能更受青睐。一些编程语言和环境中,递归调用的性能可能不如循环,因为每个递归调用都需要函数调用的开销。非递归实现使用显式的数据结构(如栈)来管理状态,不依赖于系统的调用栈。递归调用在一些编程语言中可能引入额外的开销,包括函数调用栈的使用和维护。非递归实现更容易进行一些优化,例如通过使用迭代而不是递归的方式来访问数组,以更好地利用 CPU 缓存。

2023-12-21 16:32:49 423

原创 Ascend C 算子开发遇到的问题及解决方法

在学习Ascend C算子开发进阶课程的时候,进行Ascend C自定义算子工程、算子调用等实验,在开发环境中遇到了一些问题,在这里记录一下。首先如果在启智社区CANN版本为6.3 ,要进行Ascend C算子开发,需要更新CANN版本。

2023-11-30 16:19:14 1588

原创 【2023CANN训练营第二季】——Ascend C算子调用及实验演示

完成自定义算子的开发部署后,可以通过单算子调用的方式来验证单算子的功能。单算子API执行:基于C语言的API执行算子,无需提供单算子描述文件进行离线模型的转换,直接调用单算子API接口。单算子模型执行:基于图IR执行算子,先编译算子(例如,使用ATC工具将Ascend IR定义的单算子描述文件编译成算子om模型文件),再调用AscendCL接口加载算子模型,最后调用AscendCL接口执行算子。两种方式对于自定义算子开发部署的不同约束要求如下:下面分别梳理单算子调用的方式。

2023-11-30 11:42:27 1454

原创 【2023CANN训练营第二季】——Ascend C自定义算子工程介绍及实验

自定义算子工程是一个包含用户编写的host侧和kerne|侧算子实现文件的,用于编译和安装自定义算子run包的工程框架。CANN软件包中提供了工程创建工具msopgen,开发者可以输入算子原型定义文件生成Ascend C算子开发工程。需要编写AddCustom算子的原型定义json文件以及运行以下代码其中对这些命令进行解释:${INSTALL_DIR}为CANN软件安装后文件存储路径,根据实际环境进行替换。-i:指定算子原型定义文件add_custom.json所在路径,请根据实际情况修改。

2023-11-28 11:56:59 1703

原创 FCOS: Fully Convolutional One-Stage Object Detection 论文源代码复现

报错AK_CHECK没有定义,这是因为在 PyTorch 的新版本中,AT_CHECK 可能已被替换为 TORCH_CHECK。所以要把报错的那个文件里的AT_CHECK替换为TORCH_CHECK,找到/FCOS/fcos_core/csrc/cuda/deform_conv_cuda.cu文件和/FCOS/fcos_core/csrc/cuda/deform_pool_cuda.cu 把里面的AT_CHECK替换为TORCH_CHECK,即可。

2023-11-21 10:57:50 333 1

原创 如何去云服务器申请环境跑深度学习模型

上面就是如何在Autodl 云服务器创建环境,上传数据 、以及连接VS Code,还有更详细的文档在官网也可以找到。然后我最近又发现了一个更省钱的方法,就是启智AI协作平台(启智启智平台有CPU,GPU和NPU,然后有算力积分可以免费获取,一块V100才2积分一小时,然后积分每天都可以领,具体可以去官网看看,反正就是不用花钱就能训练模型。因为我也用过其他的云服务,比如华为云的modelarts,那个太烧钱了。

2023-11-20 10:39:57 562 5

原创 机器人走迷宫问题

7.请为该机器人实现路径规划功能:给定房间大小,墙壁位置,请计算出陷阱方格与不可达方格分别有多少个。2.机器人固定从方格(0, 0)出发,只能向东或者向北前进,出口固定为房间的最东北角,如下图的。1.陷阱方格与不可达方格数量,两个信息在一行中输出, 以一个空格隔开。(结尾不带回车换行)5.有些地方是机器人无法达到的,如标记为A的方格,称之为不可达方格,不可达方格不包括墙壁。4.有些地方是- -旦到达就无法走到出口的,如标记为B的方格,称之为陷阱方格。6.如下实例图中,陷阱方格有2个,不可达方格有3个。

2023-11-18 11:47:11 606

原创 猜密码:小杨申请了一个保密柜,但是他忘记了密码。只记得密码都是数字,而且所有数字都是不重复的。

箱子中字符拼出的字符串与密码的匹配忽略大小写,且要求与密码完全匹配,如密码abc匹配aBc,但是密码abc不匹配abcd。2.输出的密码数字要按照从小到大的顺序排列,密码组合需要按照字母顺序,从小到大的顺序排序。可能的密码组合,每种组合显示成一行,每个组合内部的数字以半角逗号分隔,从小到大的顺序排。请你根据他记住的数字范围和密码的最小数字数量,帮他算下有哪些可能的组合,3.输出的每一个组合的数字的数量要大于等于密码最小数字数量;1.输出的组合都是从可选的数字范围中选取的,且不能重复;

2023-11-18 10:45:59 252

原创 RuntimeError: CUDA error: no kernel image is available for execution on the device

我的GPU版本是NVIDIA GeForce RTX 3080 Ti,可能是pytorch版本不适配,我安装的Pytorch版本是1.8.1的,重新安装Pytorch1.11版本,不再报错,

2023-11-12 11:31:50 284

原创 【2023CANN训练营第二季】——Ascend C算子开发进阶—Ascend C Tiling计算

在这一小节中接触到了一个新的概念,叫Tiling计算,指的是在Ascend C 算子开发过程中,矢量的算子流程分为3个基本任务:CopyIn,Compute,CopyOut。CopyIn任务负责将Global Memory上的输入Tensor xGm和yGm搬运至Local Memory,但是Local Memory不能容纳所有算子的输入和输出,所以需要每次搬入一部分数据进行计算,然后再搬出,再搬入另一部分数据,重复上述过程,直到最终得到完整结果,这个把全部数据进行切分、分块的计算就叫做。

2023-11-11 16:18:08 793

原创 ImportError: libGL.so.1: cannot open shared object file: No such file or directory

运行Python时报错:ImportError: libGL.so.1: cannot open shared object file: No such file or directory。

2023-11-06 14:11:49 200 1

原创 【2023CANN训练营第二季】——通过一份入门级算子开发代码了解Ascend C算子开发流程

这个核函数的主要作用是创建 KernelAdd 类对象,初始化并执行向量相加的计算过程,调用 Process 方法来实际执行向量相加的操作。extern “C”: 这是一个C++编译指示,用于告诉编译器要使用C链接规范,以便在C/C++混编时,能够正确链接核函数。__global__: 这是一个GPU编程的关键字,表示核函数可以在GPU上执行。这个关键字通常用于CUDA编程,表明这是一个全局函数,可以在GPU上调用。

2023-10-27 15:08:05 545

原创 Ascend C算子开发(入门)章节小测

8、在开发算子时,如果所需算法Ascend C没有对应API可以调用,那么我们可以(通过Ascend C已提供的API组合实现算法运算)3、Ascend C编程API主要是向量计算API和矩阵运算API,计算API都是(SIMD)样式。7、我们在使用Ascend C提供的API实现算子时,如果追求高性能,那么我们应该使用(0级接口)18、编写CPU侧的核函数运行验证程序,会使用到以下列表中的哪些接口(ABC)19、编写NPU侧的核函数运行验证程序,会使用到以下列表中的哪些接口(CDE)

2023-10-22 16:52:28 5675 7

原创 【Ascend C算子开发(入门)】——Ascend C编程模式与范式

SPMD(Single Program, Multiple Data)模型是一种并行编程模型,用于同时处理多个数据元素的相同程序。在Ascend C中,SPMD模型用于编写并行计算任务,以便充分利用Ascend AI处理器的并行计算能力。SPMD模型的要点如下:Single Program:SPMD模型意味着编写的程序是相同的,不会针对不同的数据元素而改变。这个程序会在不同的数据上执行,但代码本身是相同的。这有助于提高代码的可维护性和复用性。每个核上唯一区别是block_idx不同。

2023-10-22 14:07:40 829

原创 2023CANN训练营第二季——Ascend C算子开发(入门)——基础概念

我学习了Ascend C算子开发入门课程的基础概念,然后做了一个很简单加法算子开发实验,对于Ascend C有了一定程度的理解,虽然我是初学者,然后现在学下来感觉有些复杂,有点难理解,但是我相信,跟着课程一步一步来,下一节学习Ascend C编程模型与范式,深入地理解多核并行、流水编程等概念,学习核函数开发,核函数验证的具体知识点。希望最后可以对Ascend C有一个更全面的认识,且可以自己学会写使用Ascend C编程,加油,坚持学习,坚持进步,慢慢来!

2023-10-21 20:09:32 737

原创 怎么将本地代码文件夹通过Git 命令上传到启智平台仓库

关联远程仓库: 使用以下命令将本地仓库与远程仓库关联。输入用户名和密码: Git Bash可能会提示您输入启智AI协作平台的用户名和密码,以验证您的身份。然后在本地文件夹右键–>选择Git Bash Here,就会打开Git命令窗口。在命令行中使用以下命令执行强制推送。请注意,这会覆盖远程分支的内容。在本地创建一个与启智平台仓库同样名字的文件夹。这里要初始化一下自己的名字和邮箱。将项目文件添加到Git。

2023-10-04 00:28:32 245

原创 滴滴笔试——算式转移

题目:给出一个仅包含加减乘除四种运算符的算式(不含括号),如1+2*3/4,在保持运算符顺序不变的情况下,现在你可以进行若干次如下操作:如果交换相邻的两个数,表达式值不变,那么你就可以交换这两个数。

2023-09-07 14:40:06 287

原创 2024届校招-Java开发笔试题-S4卷

以下是一些常见的进程同步机制:互斥锁(Mutex)、信号量(Semaphore)、条件变量(Condition Variable)、屏障(Barrier)、读写锁(Read-Write Lock)、管程(Monitor)、自旋锁(Spin Lock)、消息传递。2.给定一个任意矩阵(用二维数组表示),要求从左上角移动至右下角,每次只能向下或向右移动一格,矩阵中的数字为本次移动的收益,请算出移动值右下角时,所经过路径和的最大收益。每个星际门的开启需要消耗一定的能量,这个能量由星际门上的数字表示。

2023-09-05 16:40:52 1324

原创 105. 从前序与中序遍历序列构造二叉树

思路:题目给出了先序遍历和中序遍历的结果,因为先序遍历遵循根–>左–>右,而中序遍历遵循左–>根–>右。所以先序第一个元素必定为根节点,我们可以对中序数组构建一个哈希表,用于存放每个元素的索引值,然后在中序找到根节点所在的索引。这样就可以知道左子树和右子树的数目,以及左子树和右子树的前序和中序遍历结果,最后可以使用递归方法构造出左子树和右子树,再将这两颗子树接到根节点的左右位置。先序遍历中「从 左边界+1+左子树节点数目 开始到 右边界」的元素就对应了中序遍历中「从 根节点定位+1 到 右边界」的元素。

2023-09-02 17:15:23 874

原创 【两个有序数组合并】

2、设置三个变量i,j,k分别指向A、B数组,以及合并后的数组的末尾,从末尾开始一个个遍历A、B数组中的元素,若A大于B,则把A数组中的元素放到A的最后位置,反之则把B数组位置放到A数组最后位置,最后遍历完之后,若B数组还剩余元素,则把数组再添加到A数组中。步骤:1、创建两个数组A、B分别读取输入流数据,其中A数组的大小应该设置为A、B两数组长度之和,因为A数组最后存放的是合并后的数据。给定两个有序整数数组 A 和 B,将B合并到A中,使得 A 成为一个有序数组。

2023-09-02 10:21:36 254

原创 【整数列表求三的倍数】

题目的意思是输入一个n,然后在这1-n个整数列表中,从第一个数开始计数,比如对于n=5,就是从1开始计数,这个计数指的是每个位置的索引,当计数到3时,是三的倍数,所以第三个数对应的数值应该被删除,删除之后,之前的计数值从第一个数开始计数,比如第一步计数到5,此时数字3被删除了,又从第一个开始计数,计数值从5开始数!问题描述: 给定一个从1到n的整数列表,从第一个数字开始计数,遇到3的倍数时,将该数从列表中删除,直至列表末尾。在剩下的数字中,从第一个数字开始,继续之前的计数值,同样遇到3的倍数时,删除该数。

2023-09-01 17:01:47 559

原创 Krahets 笔面试精选 88 题——40. 组合总和 II

由于题目说候选数组中的每个数字在每个组合只能出现一次,所以,为了避免重复,在开始之前对候选数组进行升序排序,这样优先选择小的数,如果当前的数都小于目标值,则后面的数就不用递归了。1、定义一个列表freq,每一个元素都是一个数组,其中第一个元素代表候选数字,第二个元素代表数字在候选数组中出现的次数。2、定义深度优先搜索方法,pos代表当前处理位置,rest代表剩余目标数。

2023-08-31 20:31:44 497

原创 JZ13 机器人的运动范围

从[0,0]开始,每次选择一个方向开始检查能否访问,如果能访问进入该节点,该节点作为子问题,继续按照这个思路访问,一条路走到黑,然后再回溯,回溯的过程中每个子问题再选择其他方向,正是深度优先搜索。这里要定义一个数组,表示每次遍历的四个方向,int[][] dir = {{-1,0},{1,0},{0,-1},{0,1}};表示向上移动一行,{{1, 0}} 表示向下移动一行,{{0, -1}} 表示向左移动一列,{{0, 1}}step 1:检查若是threshold小于等于0,只能访问起点这个格子。

2023-08-30 19:29:00 99

原创 JZ12 矩阵中的路径

递归适用于许多问题,如数学运算(如阶乘、斐波那契数列)、树结构遍历、图算法、字符串处理等。然而,使用递归时要注意合适的终止条件和避免出现无限递归。step 4:递归查找的时候,到了矩阵的边界或者是下一个字符与这个位置的字符不匹配,或者节点已经访问过了,或者字符串匹配完成都结束递归。step 2:设置flag数组记录某一次路径中矩阵中的位置是否被经过,因此一条路径不能回头。step 5:访问节点,修改flag数组,向其他四个方向延伸,回溯的时候修改flag数组。step 3:遍历矩阵,对每个位置进行递归。

2023-08-30 19:02:06 594

原创 vivo2020届春季校园招聘在线编程考试(一)

输入m=1,n=2,表示最少1个键,最多2个键,符合要求的键数是1个键和2个键,其中1个键的有效模式有9种,两个键的有效模式有56种,所以最终有效模式总数是9+56=65种,最终输出65。:输入参数:curr和remaining,代表当前键和剩余要连接的键数,该方法是一个深度优先搜索(DFS)的递归函数,用于计算在给定的键数限制下,从当前键开始的所有有效解锁模式的数量。:输入参数m和n,代表允许解锁的最少和最多键数,计算满足在范围[m,n]内允许的键数的所有有效模式的总数。2、所有的键都必须是不同的;

2023-08-30 17:01:52 138

原创 点点互动AI工程师笔试复盘

2023-08-30 14:59:28 417

原创 BM20 数组中的逆序对

经过思考,我个人的见解是这样的,这里归并排序计算逆序对的数量和暴力解法不一样,暴力解法是在一个已有的数组中,对于每一个数,都判断其他的数是否比该数大,而递归排序,它比较的不是相邻的两个数,而是相邻的两个子数组,我认为这是看懂这道题的关键,因为比较的是两个子数组,所以在两个子数组中已经排好序是没关系的,因为两个子数组的相对顺序没有变,所以如果在左区间发现了一个比右区间大的数,那么说明左区间中这个数以后的数都会比右区间大,这是递归算法计算的公式。3、将排好序的子序列合并,同时累加逆序对。

2023-08-28 16:40:47 108

coco-wholebody 注释文件

包括coco_wholebody_train_v1.0.json和coco_wholebody_val_v1.0.json

2023-03-10

coco-wholebody-val-v1.0.json

coco-wholebody-val-v1.0.json

2023-03-10

基于Python的Excel 文件分析及报表

基于Python的Excel 文件分析及报表

2023-03-10

Python数据分析概述

Python数据分析概述

2023-03-10

基于Python的博客系统设计

基于Python的博客系统设计

2023-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除