基础技能
文章平均质量分 80
基础技能
Good@dz
烟火向星辰,所愿皆成真
展开
-
利用modelscope下载模型
ModelScope作为一个先进的“模型即服务”(MaaS)平台,它的核心在于汇聚人工智能领域的尖端模型,降低了在现实世界应用这些前沿技术的门槛。该平台通过ModelScope库展现了其强大功能,这一库专为简化开发者体验而设计,无论是在计算机视觉(CV)、自然语言处理(NLP)、语音识别、多模态分析,还是科学计算领域,它都能提供一个统一、高效的接口去执行推理、定制训练及性能评估任务。原创 2024-08-18 08:35:11 · 913 阅读 · 0 评论 -
jenkins的简单使用
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。原创 2024-06-03 20:16:44 · 1017 阅读 · 0 评论 -
Linux下CPU频率和核心数的锁定设置
在上面的命令中,-c 选项指定了 CPU 的编号,-f 选项指定了 CPU 的频率。请注意,你的设置可能会被 CPU 的自动动态频率调节覆盖。如果你希望永久禁用动态频率调节,你需要 将 CPU 的频率调节器设置为 “userspace”。此外,使用命令查询cpu各线程的频率。原创 2024-05-06 20:25:31 · 1639 阅读 · 1 评论 -
perf的介绍
perf 是 Linux 系统中的一个强大的性能分析工具,用于收集系统的各种性能数据。这些数据可以是 CPU 时间、硬件事件,如 cache misses,或者内核和用户空间的函数调用。perf 可以用于实时分析(sampling mode)或者统计分析(counting mode)。原创 2024-03-22 16:25:43 · 395 阅读 · 0 评论 -
交叉编译介绍及实战
交叉编译是一种操作系统或者硬件架构上生成在另一种操作系统或者硬件架构上运行的代码的过程。通常情况下,我们会使用cmake来配置和管理跨平台的项目。假设我们要在Linux上(host)为ARM设备(target)交叉编译一个Hello World程序。我们可以使用GCC交叉编译工具链(toolchain)。原创 2024-03-05 20:41:13 · 1144 阅读 · 0 评论 -
git的入门知识点
git的入门知识点原创 2023-04-18 09:34:13 · 360 阅读 · 0 评论 -
Markdown的使用
Markdown是一种轻量级标记语言,他用简单的语法来代替排版,实现易读易写。原创 2023-04-13 10:58:19 · 363 阅读 · 0 评论 -
vi/vim的使用
vi/vim 是 Linux 系统内置的不可或缺的文本编辑命令原创 2023-04-07 20:44:59 · 440 阅读 · 0 评论 -
yolov5的TensorRT部署--warpaffine_cuda核函数
从0到1实现基于tensorrt的yolo部署教程 ---仿射变换cuda核函数原创 2022-07-12 09:43:59 · 1444 阅读 · 1 评论 -
Linux下CMake学习笔记和在QT的应用
CMak可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,只需要少量的修改,非常方便。camke的主要特点:安装cmake的命令:查看cmake版本号的命令:三、简单样例学习编程的最简单的案例—打印Hello World3.1 创建main.c的命令3.2 在main.c文件中,粘贴以下代码3.3 创建CMakeLists.txt(文件名是CMakeLists.tx原创 2022-07-08 15:43:30 · 2123 阅读 · 0 评论 -
yolov5的TensorRT部署--动态batch
从0到1实现基于tensorrt的yolo部署教程 http://t.csdn.cn/HUn4T,请点击该链接,即可看到全文本文对于上面的案例,从多batc的角度详细讲解对于充分多batch,能大大提升模型的检测速度,例如多个视频流进行目标检测,我们可以获取多个视频流中的图片,都多张图片一起送往一个网络里进行推理。在生成TensorRT模型的代码,我们应该加入以下代码2. 在模型推理时的代码在推理的时,如何将设置显存和内存,并且将输入的数据与指定的内存和显卡关联在一起,这是多batch的难点batc原创 2022-06-25 21:46:40 · 3682 阅读 · 2 评论 -
多线程-生产者和消费者模式
多线程是多任务处理的一种特殊形式,多线程处理允许让一个进程中同时运行两个或两个以上的线程。这样的话,能更加充分发挥计算机的性能,并高效完成用户的任务。第一步:加入头文件第二步:子线程的实现第三步:创建线程join和detach的对比:join()函数是一个等待线程完成函数,主线程需要等待子线程运行结束了才可以结束detach()函数是子线程的分离函数,当调用该函数后,线程就被分离到后台运行,主线程不需要等待该线程结束才结束上面代码的运行结果:显示打印hello thread,然后等待1秒后,在打原创 2022-06-12 21:53:03 · 1542 阅读 · 0 评论 -
算法与数据结构---查找和哈希
下面的题都是来自于牛客网的面试宝典二分查找:在查找的时候,每次都是从数据的中间开始,按照一定规则向左或者向右继续查找。也因此,二分查找的数据被要求具有一定的规则。一般是有序性。2.算法题,单调函数求零点(简单的二分法)二分法的基本思想是通过不断地将零点所在的区间一分为二,使得两个端点逐步逼近零点,从而得到零点近似值的方法叫做二分法。3.Hash表处理冲突的方法hash算法能保证对于不同的参数,返回的数值不能保证不重复。这就是冲突一致性哈希算法在1997年由麻省理工学院提出,设计目标是为了解决因特原创 2022-06-05 16:28:50 · 159 阅读 · 0 评论 -
深度学习(三)
下面的题都是来自于牛客网的面试宝典1.神经网络为啥用交叉熵通过神经网络解决多分类问题时,最常用的一种方法就是在最后一层设置n个输出节点,无论在浅层神经网络还是在cnn中都是如此。比如,在alexnet中最后的输出层有1000个节点,而即便是resnet取消了全连接层,也会在最后有一个1000个节点的输出层。一般情况下,最后一个输出层的节点个数与分裂任务的目标数相等。假设最后的节点数为N,那么对于每一个样例,神经网络可以得到一个N维的数组作为输出结果,数组中每一个维度会对应一个类别。在最理想的情况下,原创 2022-05-31 19:24:10 · 306 阅读 · 0 评论 -
深度学习(二)
下面的题都是来自于牛客网的面试宝典1.用过哪些移动端深度学习框架?开源的有:小米的MACE,骁龙的SNPE,腾讯的FeatherCNN和ncnn,百度的mobile-deep-learning(MDL);caffe、tensorflow lite都有移动端,只是可能没有上面的框架效率高。2.BN层的作用,为什么要在后面加伽马和贝塔,不加可以吗BN可以认为是在每一层的输入和上一层的输出之间加入一个计算层,对数据的分布进行额外的约束,从而增强模型的泛化能力。但是BN同时也降低了模型的拟合能力,BN之后的原创 2022-05-31 11:31:29 · 284 阅读 · 0 评论 -
深度学习(一)
下面的题都是来自于牛客网的面试宝典1.迁移学习迁移学习就是把之前训练好的模型直接拿来用,可以充分利用之前数据信息,而且能够避免自己实验数据集较少等问题。简单来说,就是给模型做初始化,初始化的数据来自于训练好的模型。例如利用coco数据集(图片达到十万多张)对残差网络进行训练,训练类别数量为80类别。如果个人检测的目标在80类别中,可以将上面训练的模型作为初始化。个人只需要提供较少的数据集,即可训练出不错的模型。2.Batchnormalization的作用神经网络在训练的时候,随着网络层数的加深,原创 2022-05-24 09:17:23 · 948 阅读 · 0 评论 -
机器学习---样本不均衡和过拟合
下面的题都是来自于牛客网的面试宝典1.数据不平衡怎么样数据不平衡指的是不同类别的样本量差异非常大,或者少数样本代表了业务的关键数据(少量样更重要),需要对少量样本的模式有很好的学习。样本类别分布不平衡主要出现在分类相关的建模问题上。样本类别分布不均衡从数据规模上可以分为大数据分布不均衡和小数。工程过程中,应对样本不均衡问题常从以下三方面入手:欠采样:在少量样本数量不影响模型训练的情况下,可以通过对多数样本 欠采样,实现少数样本和多数样本的均衡。过采样:在少量样本数量不支撑模型训练的情况下,可以通原创 2022-05-20 09:35:39 · 619 阅读 · 0 评论 -
机器学习--处理聚类问题常用算法
下面的题都是来自于牛客网的面试宝典1.什么是DBSCANDBSCAN是一种基于密度的空间聚类算法,它不需要定义簇的个数,而是将具有足够高密度的区域划分为簇,并在有噪声的数据中发现任意形状的簇,在此算法中将簇定义为密度相连的点的最大集合。2.k-means算法流程从数据集中随机选择k个聚类样本作为初始的聚类中心,然后计算数据集中每个样本到这k个聚类中心的距离,并将此样本分到距离最小的聚类中心所对应的类中。将所有样本归类后,对于每个类别重新计算每个类别的聚类中心即每个类中所有样本的质心,重复以上操作直到原创 2022-05-16 20:48:58 · 708 阅读 · 0 评论 -
机器学习--处理回归问题常用算法
下面的题都是来自于牛客网的面试宝典1.L1和L2正则化的区别在机器学习实践过程中,训练模型的时候往往会出现过拟合现象,为了减小或者避免在训练中出现过拟合现象,通常在原始的损失函数之后附加上正则项,通常使用的正则项有两种:L1正则化和L2正则化。L1是模型每个参数的绝对值之和,L2为各个参数平方的开方值。L1更趋向于产生少量的特征,其他特征为0,最优的参数值很大概率出现在坐标轴上,从而导致产生稀疏的权重矩阵,而L2会选择更多的矩阵,但是这些矩阵趋向于0.2.Loss function有哪些,怎么用?原创 2022-05-16 19:21:05 · 2050 阅读 · 0 评论 -
机器学习--处理分类问题常用的算法(二)
下面的题都是来自于牛客网的面试宝典1.分层抽样的适用范围分层抽样利用事先掌握的信息,充分考虑了保持样本结构和总体结构的一致性,当总体由差异明显的几部分组成的时候,适合用分层抽样2.LR和线性回归的区别线性回归用来预测,LR用来做分类。线性回归是来拟合函数,LR是来预测函数。线性回归用最小二乘法来计算参数,LR用最大似然估计来计算参数。3.生成模型和判别模型基本形式,有哪些?生成式:朴素贝叶斯、HMM、Gaussians、马尔科夫随机场判别式:LR、SVM、神经网络、CRF、Boosting4原创 2022-05-12 09:29:52 · 772 阅读 · 0 评论 -
机器学习--处理分类问题常用的算法(一)
下面的题都是来自于牛客网的面试宝典1.交叉熵交叉熵损失函数一般用于求目标与预测值之间的差距。信息量:假设一个离散型随机变量x,某事件发生的概率为p(x0) ,p(x0) 的取值范围在[0,1],该事件发生的信息量为熵:对于某个问题而言,可能存在n个可能发生的事件,每个可能发生的事件都有各自的一个概率,也有对应的信息量。熵是用来表示所有信息量的期望,公式如下:相对熵(KL散度):在机器学习中,P往往用来表示样本的真实分布,比如[1,0,0]表示当前样本属于第一类。Q用来表示模型所预测的分布,比如原创 2022-05-10 14:08:22 · 1933 阅读 · 0 评论 -
机器学习-数学基础
下面的题都是来自于牛客网的面试宝典1. SGD、momentum、adagard、adam原理原创 2022-05-06 14:34:01 · 948 阅读 · 0 评论