自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(187)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 在Rust中使用torch------day1环境配置&Yolov8推理

我通过tch用Rust实现了对Yolov8的推理,并且最终输出结果与实际推理结果一致,很好的做到了精度对齐.不过这里面还是存在一点点小问题的,模型推理讲究的是推理时间与实时性要求,来看看在不同device下我推理时间的结果.

2023-07-05 16:20:11 2630 5

原创 wails+vue3实现一个简单Monitor

本来呢最近是在学Rust,顺便看看Tauri相关的内容.然后刷评论区突然看到有人提到go生态中也有类似的框架—Wails,所以下午花了点时间来动手玩一下.首先看一下最终的运行效果,前端样式懒得调整所以界面很丑只是实现一下功能这一次尝试算是Tauri之前的一次小玩具,花了两个个小时从0学习wails以及一些前端库,最终也算拼凑出了最初设计的功能.wails最终打包出来的可执行文件大小仅仅只有2.8M,比起一些Electron打包出来的工具来说小了不止一点.另外我们可以在main.go。

2023-07-05 16:18:57 1508

原创 Poetry上传一个属于自己的库

其实这是一个拖了很久很久的坑,不知道多少人看过我之前的一篇博客关于torch.fx的使用,在这里面我用torch.fx实现了一些很有趣的功能比如模型可视化.所以当时就有一个想法,把代码封装一下写成一个属于自己的三方库,正好今天有点时间就把这个坑给填上.这个工具的主要功能很简单,直接指定某个py文件工具会自动寻找文件中所有的nn.Module并进行解析可视化.

2023-07-05 16:17:56 302

原创 Rust 第五天—代码组织管理

总的来说,Rust的代码组织文件系统还是比较人性化的,而且使用起来也比较容易上手.相比起go没有workspace之前引入本地包来说,这种体验简直不要太好.这里也有很多没有提到的,比如as别名,和self引入全部以及本身等等,这些其实在其他语言中或多或少都有相似之处,因此慢慢后期用到会稍微介绍一下.最后,我们用wasm实现了一个简单的四则运算,这里面更多是为了演示复杂文件路径的模块引入,所以直接固定类型为i32而没有用泛型来写,后续继续学习之后,会写一些复杂点的demo来参考学习.

2023-07-05 16:15:32 320

原创 Pycharm远程设置 && DDP简单介绍

最近接到一些改代码或者帮助debug的需求,大多数不是在本地而是autodl这种服务器上,有些人可能不太了解如何设置远程环境。通常在实验室一般都是在本地调好代码然后scp到服务器上去训练,不过这就需要本地有显卡能测试代码是否能跑通,或者直接在autodl这些提供的jupyter上去写代码(代码提示不算友好),一般复杂项目还是更倾向于在Pycharm,VsCode这种编辑器中开发。正好端午节回家,用家里的MacBook和服务器来演示一下整套流程以及介绍一下DDP相关的内容。

2023-07-05 16:15:01 1866

原创 Rust 第四天—Rust进阶1

id:u64,和c语言类似,我们可以像上面这样将不同的数据类型以及对应字段名封装为一个结构体.当然,和Rust的基本语法一样,这里的类型依然是后置的.上面我们已经实现了一个简单的结构体,但这还远远不够.我们希望能为这些结构体定义相应的结构体方法,从而使用结构体内部的成员实现某些功能,比如为上面的结构体实现一个自我介绍功能.println!已经多次提过生命周期在Rust中的重要性,这里还得再次提醒.为了约束定义的结构体方法在结构体上下文中,所以结构体方法的声明都在impl。

2023-07-05 16:14:28 807

原创 Rust 第五天—代码组织管理

总的来说,Rust的代码组织文件系统还是比较人性化的,而且使用起来也比较容易上手.相比起go没有workspace之前引入本地包来说,这种体验简直不要太好.这里也有很多没有提到的,比如as别名,和self引入全部以及本身等等,这些其实在其他语言中或多或少都有相似之处,因此慢慢后期用到会稍微介绍一下.最后,我们用wasm实现了一个简单的四则运算,这里面更多是为了演示复杂文件路径的模块引入,所以直接固定类型为i32而没有用泛型来写,后续继续学习之后,会写一些复杂点的demo来参考学习.

2023-07-05 16:13:43 222

原创 Rust 第三天---内存管理与所有权

到这里,对Rust的所有权特性应该有了大致的感受,和以往的编程语言不同,Rust对编译时格外严格以求运行时顺利.这对于开发者应该也是比较好的体验,看到顺利编译出可执行文件就可以放心下班而不用随时担心测出Bug然后慢慢trace去找Bug的原因.当然这也不是绝对的,毕竟机器之外我们还得与人打交道,哈哈哈.

2023-07-05 16:13:32 1009

原创 Rust 第二天---Rust基础总结

之前已经配置好了Rust的环境,那学习一门语言最开始就是去掌握了解它的基本语法.其实Rust的语法和大多编程语言没什么差别,熟悉C++的应该很容易上手,所以今天就快速过一遍基础.

2023-07-05 16:12:48 681

原创 Rust 第一天---Rust环境配置

学习一门新的语言总是令人兴奋的,新的语法特性,设计理念…当然任何新的事物总是会留有旧事物的影子,这也能帮助我们更快地学习理解.作为2015年才正式发布的“年轻”语言,安全是它最大特性也是受欢迎原因之一.通过所有权系统进行内存管理,避免了其他高级语言因垃圾回收带来的消耗或者是C++那样手动分配管理易造成的内存泄漏.在这个专栏,我将从环境配置到基础语法再到进阶操作一步步记录学习历程,希望对正在学习Rust的伙伴有所帮助.

2023-07-05 16:10:46 1060

原创 关于torch.fx的使用

首先去查看官网docTORCH.FXnn.Module这句话很好的定义了FX的本质:用来改变module实例的一种工具。符号追踪可以捕获模块的语义进行解析;中间表示也就是IR记录了中间的操作,比如输入输出和调用的函数等;代码生成这个比较有意思,因为这是一个python-to-python的转换工具,这就从本质上区别了FX与一些AI编译器,推理库的区别。从流程上看,FX与推理库都是解析模型生成IR,然后融合算子呀优化等等,但是FX只是为了优化改变模型的功能,最终落脚点还是在python上;

2022-12-18 11:01:34 1879 1

原创 某研究生不写论文竟研究起了算命?

看了一周倪海厦老师讲的天纪,人纪感悟颇多,中华传统中一些优秀的东西竟然在现代教育下被丢失了而现在的人也只有在身体不得不休息的情况下才会停止内卷慢下来好好思考。我们喜欢的是将代码作为工具实现一些有趣的功能,并不是为了水论文或者工作被迫的去东拼西凑弄出一些用处不大的东西。前几天买的服务器刚好到家了,花了几天配置好环境(最重要的是花了大半天解决todesk、向日葵远程黑屏的问题)。因为疫情原因呢学校早早就给我们放了假,有了更多的空闲时间可以思考在学校没时间想的事情,做一些除开看论文、做项目之外的事。

2022-12-13 21:45:40 1021 1

原创 IEEE UV 2022 “Vision Meets Algae” Object Detection Challenge BaseLine

今天正好是1024总得发点什么,上午正愁着没东西发突然逛着找到这个比赛正好水一篇Blog出来.要说改进想法当然也是有的,不过看到要小paper和视频介绍果断放弃,实在没精力.感觉图片大小可以用1024来训练,毕竟原图(2048,2880)并不小,大图片训练可以对小目标更清晰加点常用的注意力多尺度和上下文学习仔细观察训练图片对象本身找找特点。

2022-10-24 14:21:23 1107 7

原创 Go Machine Learning

最近因为一直在弄部署整天c++写的非常头疼,趁着昨天把分割部署写好后打算换换口味,想着试试Go语言来实现一些机器学习,深度学习会是什么样子.之前推荐过Go+(goplus),不过这次打算用更基础的go语法来尝试.对于某个从未涉及的领域一开始肯定是一脸茫然,所以需要先找点资料入门.网上相关资料也没有特别多,搜的话基本就只有那几本书.不过这不重要随便找一本书了解入个门,后面的就都可以举一反三了这里我看的是这本机器学习Go语言实现,提取码:.这本书的出版时间是2018年,也就代表着书中的代码不一定全部能用,毕竟一

2022-10-20 22:41:26 1912 4

原创 TVM VS TensorRT推理速度比较

上个结果对比框架平均推理时间(ms)最大推理时间(ms)最小推理时间(ms)TensorRT0.31950.63370.3023TVM Base0.76721.64670.6861TVM Tune0.56521.06230.5562费了九牛二虎之力调优出来的模型还是比不过TensorRT的推理速度,七小时调优只减少0.2ms的推理时间,但起码模型的稳定性得到了提升还是有些许安慰的.

2022-10-08 15:13:04 1587

原创 TVM Ubuntu20安装

在Ubuntu20上安装TVM,已经排除了所有容易遇到的坑,可以放心食用

2022-10-04 20:56:00 682

原创 关于模糊理论及简单应用

模糊理论可以将输入的实际中的逻辑值转换为一种日常中的抽象化表示,根据隶属度区分成员,设置好模糊规则构建模糊集合,最终去模糊化得到结果.创新点可以在隶属度函数上改进,模糊最大的好处是不用进行训练,而是抽象化的包含隶属.如果用机器学习等方法,也可以实现上面案例的功能,但是需要构建训练数据.很多实际问题很难或者不太好找到真实表示的数据,毕竟生活中的抽象描述占主要部分.

2022-09-17 17:37:10 2966 2

原创 Jetson Nano tensorrt部署YOLOX流程

其实这些并不难,难点都在针对各种实际问题设计高效算法这才是最需要思考的,部署这部分多玩几次自然就熟练了.

2022-09-15 21:11:47 1759 1

原创 懒人必备爬虫神器—playwright

大厂出品果然不同,使用它在不考虑运行效率(有异步但是我懒得看了)的情况下可以轻松实现复杂操作,懒人最爱!

2022-09-07 15:49:04 1031 1

原创 Mac Pro M1测试PyTorch GPU

隔离期间尝试了一下M1用GPU跑pytorch,结果太伤心了

2022-08-03 19:04:34 6742 2

原创 Gradio快速搭建ML/DL Web端服务

当我们训练好了某个模型并且效果还不错时,最先想到的应该是部署.部署又可以分为线上Web服务和边缘模块上;为了汇报的时候往往还是选择线上部署,毕竟盒子部署好了还得配置相应的硬件输入也不方便展示.在这个专栏之前尝试用fastapi搭建了Web服务,并且将一些算法模型部署到api接口中,但是由于要自己设计一些预处理工作,路由,附加功能以及页面UI感觉很麻烦.所以今天就介绍一下这个基于fastapi构建的一个非常方便就可以部署模型且功能强大的Web框架—Gradio官网的链接在这里,大家可以先去了解一下)使用。..

2022-07-17 22:11:22 5701 6

原创 ffmpeg搭建一个简单的rtsp推流方案

首先我们必须要安装好,不管是源码编译还是直接安装网上都有很多教程,这里不多展开.至于和任意安装一个就好,主要是为了能对rtsp拉流播放.以VLC安装为例:最后就是安装rtsp服务器,这里可以去github上搜索相关的项目,我这里是ubuntu所以可以去这个链接https://github.com/aler9/rtsp-simple-server/releases下载对应编译好的文件直接运行就好.随便准备好一个mp4视频,然后开始动手...

2022-06-15 13:53:57 26049 6

原创 GoFrame第五天

有了客户端与服务端的请求和处理之后,我们还需要完成一些其他的功能,比如数据库交互,国际化服务,资源管理,分页管理…今天就来学习一下重要的数据库交互相关内容,说到底大多数服务也只是对数据库进行增删改查.在GoFramev2.1之后数据库驱动都需要手动引入,相关的操作可以去看看这里https://github.com/gogf/gf/tree/master/contrib/driversGoFrame的ORM功能使用模块实现,采用了链接池设计所以会自动关闭不再需要手动关闭.首先连接数据库需要设置数据库类型,数据

2022-06-11 21:16:10 1053 1

原创 GoFrame第四天

上一次剩下了一个坑,那就是文件的上传部分.今天就HTTP的客户端部分进行学习总结可以使用创建一个客户端对象,也可以使用方法调用创建对象(实际上也就是返回的对象).这里的其实也是封装了,客户端同样提供了一系列的请求方法,但是请求结果对象在使用完毕后需要用关闭GoFrame的客户端支持链式操作,也就是多个方法可以链式调用这个地方大家可以去看看官网中的例子简单的使用客户端请求的例子为了测试客户端请求,先写一个简单的服务然后再来试试来传入数据终于开始填之前的坑了,文件上传又可以分为单文件上传和多文件上传以及表

2022-06-08 14:13:57 730

原创 GoFrame第三天

上一次总结了路由相关的内容,今天就接着继续总结.当我们访问某个api的时候往往需要根据路由请求带有的参数来实现内部的操作,所以来看看怎么获得参数以及进行数据返回.我们在路由注册的时候都依靠对象来实现页面操作处理,我们也可以通过这个对象的方法获得请求参数.在中可以看到相关的方法,并且看源码中所有的值都是也就是最近推出的,使得每个解析出来的参数值都是泛型变量.最简单的获取路由参数例子如下当我们请求的参数较为复杂时,对应不同的情况会有不同的解析结果,下面就是各种情况的总结一般将输入输出定义为结构体对象,并且提交

2022-06-06 22:13:57 730

原创 使用JupyterLab写C++

尝试一下在Jupyter中写C++代码是什么样的体验

2022-06-05 13:23:23 2700

原创 GoFrame第二天

GoFrame在web开发中的基础内容

2022-06-04 22:52:43 983

原创 GoFrame第一天

GoFrame学习第一天

2022-06-03 21:24:01 618

原创 C++ 并发

关于c++11之后引入的一些并发知识总结

2022-06-02 17:43:59 401

原创 大学生人工智能挑战赛—智慧零售 从目标检测到算法落地

文章目录前言构思开始动手1.数据集准备2. 训练模型3. 转换模型格式4. 使用tensorRT改写效果最后前言这是最近的一次作业,试试本科竞赛内容应该没啥大问题吧正好水一篇博客.首先下载数据集,提取码 wwsj查看数据集给出的是json格式,训练集和测试集有标注(共110张),其余还有无标注的需要自己手工标注。但是既然只是作业又不是去参加比赛,那就直接当小数据量样本训练.构思目前数据量较小,而且很明显是一个目标检测任务,并且涉及到算法落地的问题,所以开始之前一定要理清思路,想清楚每一步应

2022-05-13 13:39:53 2528 4

原创 图片主色提取

文章目录提取主色1. RGB Or HSV2. KMeans 自适应3. 整体过程及代码4. 结果后续提取主色最近有个小任务,需要提取图片中的主色块。最基本的做法就是聚类找主色,但是目前需要自适应提取,也就是说需要对于不同的图片提取出不同的主色块数量。1. RGB Or HSV貌似大多数提取主色都是建立在RGB色彩空间中,但是就人眼感知而言对红色不太敏感而对蓝色较为敏感;而且,RGB色彩空间是利用三个颜色分量的线性组合来表示颜色相关性很高,所以RGB是一种不均匀的颜色空间。再来看看HSV,对于单

2022-05-03 02:12:08 1993

原创 opencv形态学处理

文章目录形态学处理1. 灰度化与二值化2. 形态学操作3. 利用形态学取样4. 代码部分形态学处理1. 灰度化与二值化这个在opencv中实现起来十分简单cvtColor(src,temp, COLOR_BGR2GRAY);threshold(temp,temp, 0, 255, THRESH_OTSU);当然二值化效果是否理想,阈值选取是否恰当还是要根据imshow二值化后的图来调整的。2. 形态学操作关于形态学的一些基本操作,比如腐蚀、膨胀、开运算(先腐蚀后膨胀),闭运算(先膨胀后腐

2022-05-01 18:01:49 2665

原创 opencv 模板匹配&&形状匹配

文章目录1. 找圆垫子1.1 得到模板1.2 形状匹配2. 找瓜子这是第四次作业要求所以今天就趁机会讲讲模板匹配,正好之前的项目有一部分重要工作就是和模板匹配紧密相关,对于今天作业来说,之前的项目难度更大,因为涉及到许多要考虑的因素,还要考虑效率实时性等问题。太详细的我也不方便展开,下面先看看之前的效果 17_50_13_9 当然也有其他的车型,视频就不放了直接上结果图现

2022-04-28 20:47:14 12459 4

原创 Opencv+ZBar识别条形码、二维码

文章目录Opencv识别条形码、二维码1.ZBar环境配置2.一维码(条形码)识别3. 二维码的识别4. Opencv识别二维码结束Opencv识别条形码、二维码最近的一次作业,恰好之前的项目也和c++图像处理相关,那今天就趁着熟练迅速把它搞定。c++其实关于图像处理的第三方库也有很多,只是大多数库需要根据自己的平台去自己cmake编译,而不是像python那样简单的pip就行。不过多编译几次熟练以后其实也很简单,而且编译的时候还可以摸鱼不香吗(特别是选择 with cuda编译opencv的时候,

2022-04-27 19:41:41 5846 1

原创 TensorFlow+Pytorch识别阿猫阿狗

文章目录猫狗大战前言1. TensorFlow版1.1 获取数据集1.2 载入划分训练集,并且构造数据生成器1.3 模型构建与训练2. Pytorch版2.1 载入数据2.2 模型构建与训练3. 搭建图片分类服务4. 最终效果猫狗大战前言这个是一次大作业,然后最近花了两三天把它训练完并且搭建起了可以用的服务。作业内容就是猫狗大战(猫狗数据集分类),要求是用tensorflow和pytorch分别实现。这本来是几年前kaggle中的一个竞赛,原本数据集有800多M,但是我为了省训练时间,从网上找了一个

2022-03-18 13:00:00 2779

原创 写给自己的TypeScript知识总结

文章目录TypeScript1.安装TS并且配置运行环境2.一些TS基础知识2.1 关于数据类型2.1.1 基础类型2.1.2 联合类型2.1.3 接口2.1.4 数组2.1.5 函数2.2 常用内容2.2.1 创建别名2.2.2 字面量限制2.2.3 元祖&枚举2.2.4 类与接口2.2.5 泛型TypeScript为了配合学习Vue3,所以昨天复习了一遍JavaScript,今天就接着学了一遍TypeScript,因为没有涉及到异步Promise那些,所以学起来还算轻松。1.安装TS并且配

2022-03-01 22:21:35 518 2

原创 FastAPI第五天---实现一个机器学习后端demo

文章目录FastAPI第五天1. 训练模型2.编写API3.优化APIFastAPI第五天在前面,我随着官网文档已经将常用的框架功能全部过了一遍,比如路由设置、模块化设计、数据库连接操作、路由参数以及参数校验……今天就可以正式利用FastAPI来实现我们本来的目标—利用FastAPI来搭建一个我们的机器学习服务开始之前,先来规划一下实现这个小demo的步骤:首先我们需要训练一个模型然后后端设置对应路由,并且调用模型预测,返回预测结果优化项目1. 训练模型在这个demo中,我们使用20 n

2022-02-26 21:41:25 1755 2

原创 FastAPI第四天---数据库与模块化管理

文章目录FastAPI第四天1. 多应用程序管理2. 数据库相关FastAPI第四天1. 多应用程序管理当我们开发的时候,往往会涉及到大量的路由,如果将所有的路由都写在一个文件中,不利于我们对于某个路由以及其处理函数进行修改,更不利于整个项目后期的维护升级。而且一个文件中代码行数过大还会使得开发尤为不便,因此需要将路由进行分文件(模块化)处理。相信讲到这里,之前有学习过flask框架的应该都有感觉,这不就是flask中的蓝图吗?没错,FastAPI中的APIRouter与蓝图非常相似,同样都是为了分

2022-02-24 17:24:51 1471 3

原创 FastAPI第三天---文件请求

文章目录FastAPI第三天1. 表单数据2. 文件请求FastAPI第三天1. 表单数据在每次我们实现登录的时候往往都是向服务器发送表单数据,但是从我们后端开发的角度来讲,表单数据确实最容易被攻击的部分。所以在设计表单的时候要设置好过滤器,处理用户发送给服务器的数据。当然,我们系统往往还涉及到数据库进行存储,这个时候SQL注入也是一件非常常见的攻击方式;还有其他类似于数据头注入、电子邮件注入等等手段,这些都是开发的时候需要考虑的。还是那句话,前端校验可以为我们避免部分攻击,但是后端的校验更为重要。

2022-02-21 13:25:40 878

原创 FastAPI第二天---参数校验

文章目录FastAPI第二天1.参数校验1.1 查询参数校验1.2 路径参数校验和数值检验2.请求体3.中间件FastAPI第二天第一天讲了如何快速搭建api以及如何利用路由参数,今天就来丰富一下其他的基本功能1.参数校验不论是前端还是后端,都同时涉及到参数校验这个功能。前端可能只是进行一些简单的判断校验;但是如果有人恶意绕过网页,直接向后端路由发送请求,这个时候后端检验就显得尤为重要。因此,现在的Web框架也基本包含了参数校验功能。1.1 查询参数校验之前我们讲了查询参数,今天我们就要为查询参

2022-02-20 17:16:08 1916

经典机器学习算法入门案例.rar

包含了一些经典机器学习算法的案例以及部分代码注释,更偏向于实战部分。文件为ipynb文件,用jupyter打开即可查看内容。

2020-08-19

html+css搭建的简单静态网页商城项目.rar

这是用html+css搭建的简单静态商城网页,包含了主页、登陆、注册、商品、详情等页面,对于html新手的学习很有帮助。

2020-02-18

哪吒分析.ipynb

哪吒的简单影评数据分析和影评的词云绘制,用jupyter notebook打开,提前安装相关的模块还有更改代码里面的文件路径就行啦

2019-08-13

python的一些学习资料

精心收集的一些关于python基础,机器学习,深度学习,tensorflow入门到进阶和opencv使用,数据分析的资料

2019-07-21

昨天搭建的一个最简单的django网站

win10,python3.7,django2.2.3。首先你得自己激活自己的虚拟环境,然后python manage.py runserver就可以在localhost:8000/topics中看到了。相应的内容按照自己的需要更改对应的html文件即可

2019-07-19

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

TA关注的人

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