自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 yolov5-face onnxruntime python推理(最简易版)

后处理文件PostProcess.py。预处理文件PreProcess.py。推理文件onnx2pred.py。v8还没写好,后续更新。

2024-03-22 14:43:14 195

原创 Python onnxruntime推理yolov5和yolov8(最简易版)

支持yolov5和yolov8双模型。

2024-03-06 09:13:45 279

原创 Paddlepaddle使用自己的VOC数据集训练目标检测(0废话简易教程)

主要修改num_classes以及dataset_dir和anno_path。笔者使用的是自己的数据集。

2024-02-20 17:59:20 675

原创 pdmodel从动态模型转成静态onnx

通常需要修改第0个参数,第2、3个参数;分别为batch_size/weight/height。第二个文件夹可以设置为空,用来存放转换后的模型。第一个文件夹放两个必要文件。2.新建两个新的文件夹。

2024-02-02 14:39:05 626 1

原创 IEM信息曝光最大化评估算法(蒙特卡洛算法)

【代码】IEM信息曝光最大化评估算法(蒙特卡洛算法)

2023-10-20 14:17:11 140

原创 YOLOv8 Tensorrt部署详细介绍(小白从0到1,不会你砍我)

在tensorrt项目中新建build文件夹,然后使用cmake编译,注意tensorrt项目中Cmakelist.txt需要按照自己的实际情况(其中笔者在这步踩了很多坑,差点劝退,希望大家不要轻言放弃)运行tensorrt项目中gen_wts.py文件,将pt文件转成wts文件,如上图。在tensorrt项目中新建weights文件夹,将wts文件复制过来,如下图。在YOLOv8项目中新建weights文件夹,将yolov8s.pt放入。打开注释,修改自己待检测的视频路径,本地调试,运行成功。

2023-10-08 15:29:37 1744 16

原创 C++Primer逆天合集,持续更新中ing...

引用必须初始化,将和它的初始值对象一直绑定在一起,初始化必须是一个对象引用不是对象,只是为已经存在的对象所起的另一个名字引用本身不是一个对象,所以不能定义引用的引用。

2023-08-25 17:43:50 228

原创 Anaconda+Win10安装保姆级教程(合集)

3.在使用pycharm2023版时,尽管cmd能activate自己安装的新环境,但是pychram一直检测不到。2.在使用Anaconda的过程中经常会出现conda的环境默认会安装在C盘。1.安装Anaconda。

2023-08-04 09:08:30 350

原创 React学习笔记

一、传统MVC:model,view,controller,React最多算view二、特点:1.声明式设计2.减少DOM操作3.库和框架4.JSX5.组件复用6.单项响应数据流三、虚拟DOM四、新建项目 npm install -g create-react-app create-react-app 项目名 cd 项目名 ...

2022-05-16 22:38:13 208

原创 JS 力扣刷题 125. 验证回文串

var isPalindrome = function(s) { //正则表达式去掉非字母和数字字符 s = s.replace(/[^a-zA-Z0-9]/g, '').toLowerCase() return s.split('').reverse().join('') === s};

2022-05-01 15:57:03 298

原创 JS力扣刷题 122. 买卖股票的最佳时机 II

var maxProfit = function(prices) { //当天赚当天抛,永远不亏 let res = 0; for(let i = 1; i < prices.length; i++) if(prices[i] - prices[i - 1] > 0)res += prices[i] - prices[i - 1]; return res;};

2022-04-30 19:00:35 355

原创 JS 力扣刷题 121. 买卖股票的最佳时机

var maxProfit = function(prices) { //保留之前最小值 let min = Infinity; //算当前值与最小值的差值 let res = 0; for(let i = 0; i < prices.length; i++){ if(min > prices[i])min = prices[i]; if(res < prices[i] - min)res = prices[i] -.

2022-04-30 18:39:02 330

原创 JS 力扣刷题 120. 三角形最小路径和

var minimumTotal = function(triangle) { //动态规划 let answers = []; answers.push(triangle[0]); for(let i = 1; i < triangle.length; i++){ let answer = new Array(triangle[i].length); answer[0] = answers[i - 1][0] + triangle[i.

2022-04-29 12:54:49 128

原创 JS 力扣刷题 118. 杨辉三角

var generate = function(numRows) { let res = []; if(numRows === 0)return res; res.push([1]); if(numRows === 1)return res; res.push([1,1]); if(numRows === 2)return res; for(let i = 3; i <= numRows; i++){ let answer = .

2022-04-29 12:54:02 117

原创 JS 力扣刷题 116. 填充每个节点的下一个右侧节点指针

var connect = function(root) { //总体采用层次遍历 if(!root)return root; let q = []; q.push(root); while(q.length){ let len = q.length; //添加这一步,对每行依次遍历,修改next值 for(let i = 1; i < len; i++) q[i - 1].next = .

2022-04-28 10:32:35 116

原创 JS 力扣刷题 114. 二叉树展开为链表

var flatten = function(root) { //建立先序节点连表 const nodelist = []; function dg(t){ if(!t)return; nodelist.push(t); dg(t.left); dg(t.right); } dg(root); //对连表遍历,操作 for(let i = 1; i < node.

2022-04-28 10:05:50 534

原创 JS 力扣刷题112. 路径总和

var hasPathSum = function(root, targetSum) { if(!root)return false; if(!root.left && !root.right && root.val == targetSum)return true; return hasPathSum(root.left, targetSum - root.val) || hasPathSum(root.right, targetSum - roo.

2022-04-27 15:44:44 225

原创 JS 力扣刷题 113. 路径总和 II

var pathSum = function(root, targetSum) { let answers = []; let answer = []; const backtrack = (t, n) => {//回溯 if(!t)return; //走到空节点时添加答案,但是叶子节点左右节点都为空,所以有重复解,想办法去重 if(!t.left && !t.right && n == t.va.

2022-04-27 13:56:11 114

原创 JS 力扣刷题 111. 二叉树的最小深度

var minDepth = function(root) { if(!root)return 0;//root为null let q = [];//队列层次遍历 q.push(root); let deep = 1;//记录当前深度 while(q.length){ let len = q.length;//队列长度会变 for(let i = 0; i < len; i++){ let tmp = q.

2022-04-27 10:39:32 674

原创 JS力扣刷题 110. 平衡二叉树

var isBalanced = function(root) { function deep(root){//求深度 if(!root)return 0; return Math.max(deep(root.left), deep(root.right)) + 1; } function dg(root){//递归 if(!root)return true; return Math.abs(deep(root.lef.

2022-04-27 09:55:50 621

原创 JS 力扣刷题 109. 有序链表转换二叉搜索树

思路: 参考上一条,先将链表变成数组。var sortedListToBST = function(head) { const nums = []; while(head){ nums.push(head.val); head = head.next; } const dg = (nums) => { if(!nums.length)return null; let mid = (num...

2022-04-26 16:35:07 368

原创 JS力扣刷题 108. 将有序数组转换为二叉搜索树

思路:var sortedArrayToBST = function(nums) { const dg = (nums) =>{ if(!nums.length)return null; let mid = (nums.length - 1) >> 1; let root = new TreeNode(nums[mid]); root.left = dg(nums.slice(0, mid));

2022-04-26 16:12:01 337

原创 JS 力扣刷题 106. 从中序与后序遍历序列构造二叉树

var buildTree = function(inorder, postorder){ if(!inorder.length)return null; let root = new TreeNode(postorder[postorder.length - 1]); let m = inorder.findIndex(item => item === postorder[postorder.length - 1]); root.left = buildTree(i.

2022-04-26 16:10:10 150

原创 JS 力扣刷题 107. 二叉树的层序遍历 II

var levelOrderBottom = function(root) { if(!root)return [];//特殊情况 const q = [[root, 0]];//层次遍历,记录每个节点和所在的层数 const res = []; while(q.length){//队列层次遍历 [node, index] = q.shift();//出队 if(!res[index]){//该层第一个节点 res.p.

2022-04-25 12:42:11 367

原创 JS 力扣刷题 105. 从前序与中序遍历序列构造二叉树

var buildTree = function(preorder, inorder) { let l1 = 0, l2 = 0, r1 = preorder.length - 1, r2 = inorder.length - 1; const dg = (l1, l2, r1, r2) => { if(l1 > r1)return null;//没有根节点 let root = new TreeNode(preorder[l1]); .

2022-04-24 22:13:34 294

原创 JS 力扣刷题 103. 二叉树的锯齿形层序遍历

var zigzagLevelOrder = function(root) { let rear = [];//遍历的队列 let answers = [];//二维数组 if(!root)return answers;//特殊情况 rear.push(root);//根节点入队 let flagStack = 1;//单层从左往右(队列)双层从右往左(栈) while(rear.length > 0){ let answer = [].

2022-04-23 12:10:33 1947

原创 JS 力扣刷题 102. 二叉树的层序遍历

var levelOrder = function(root) { let rear = [];//遍历的队列 let answers = [];//二维数组 if(!root)return answers;//特殊情况 rear.push(root);//根节点入队 while(rear.length > 0){ let answer = [];//一层一层遍历 let len = rear.length;//队列长度会变,记.

2022-04-22 18:20:24 1447

原创 力扣刷题 101. 对称二叉树

var isSymmetric = function(root) { const isTrue = (left, right) => {//左右子树是不是镜像 if(left == null && right == null)return true;//走到了根节点 if(left == null || right == null)return false;//左右子树有一个不空 if(left.val != right.val.

2022-04-22 17:17:25 399

原创 JS力扣刷题 100. 相同的树

var isSameTree = function(p, q) { let flag = true; const compare = (p, q) => { if(p == null && q == null)return;//p q都为空时返回 if(p == null || q == null){//只有一个为空 false flag = false; return; .

2022-04-19 19:15:50 146

原创 JS力扣刷题 99. 恢复二叉搜索树

思路: 二叉排序树中序遍历一定是有序的var recoverTree = function(root) { //中序遍历放到数组中 const arr = []; const bulidarr = (t) => { if(t == null)return; bulidarr(t.left); arr.push(t.val); bulidarr(t.right); } buli...

2022-04-19 18:54:29 751

原创 JS力扣刷题 98. 验证二叉搜索树

var isValidBST = function(root) { //中序遍历排序二叉树必是有序的 let flag = true; let pre = -Infinity; const isBst = t =>{ if(t == null)return; isBst(t.left); if(t.val <= pre)flag = false; pre = t.val; isBst.

2022-04-19 13:29:35 758

原创 JS力扣刷题 97. 交错字符串

思路var isInterleave = function(s1, s2, s3) { if(s1.length + s2.length != s3.length)return false; let m = s1.length; let n = s2.length; let res = Array.from(Array(m + 1), () => new Array(n + 1).fill(false)); res[0][0] = true; fo

2022-04-18 11:52:11 145

原创 JS力扣刷题 96. 不同的二叉搜索树

思路var numTrees = function(n) { let res = new Array(n + 1); res[0] = 1; res[1] = 1; for(let i = 2; i <= n; i++){ let tmp = 0; for(let j = 0; j < i; j++) tmp += res[j] * res[i - 1 - j]; res[i] = tm

2022-04-18 10:39:03 90

原创 JS力扣刷题 94. 二叉树的中序遍历

var inorderTraversal = function(root) { let res = []; function inorderVisit(t){ if(t){ inorderVisit(t.left); res.push([t.val]); inorderVisit(t.right); } } inorderVisit(root); return r.

2022-04-17 23:17:59 371

原创 JS力扣刷题 93. 复原 IP 地址

var restoreIpAddresses = function(s) { let answers = []; let answer = []; function backtrack(index, start){ if(index == 4)//走到最后一层 if(start == s.length){//走到了最后一个字符 answers.push(answer.join('.')); .

2022-04-17 22:08:08 413

原创 JS 力扣刷题 91. 解码方法

思路

2022-04-17 18:12:15 221

原创 JS力扣刷题 92. 反转链表 II

var reverseBetween = function(head, left, right) { let pre = new ListNode(0, head); head = pre; //找到left的前一个 for (let i = 0; i < left - 1; ++i) { pre = pre.next; } let p = pre.next; //在p之前不断的头插法 for(let i = 0; i .

2022-04-17 15:18:33 542

原创 JS力扣刷题 90. 子集 II

var subsetsWithDup = function(nums) { //先排序 nums = nums.sort(function(a, b){ return a - b; }); let used = new Array(nums.length).fill(0); let answers = []; let answer = []; function backtrack(index, start){ if(i.

2022-04-17 11:00:50 143

原创 JS力扣刷题 89. 格雷编码

思路:var grayCode = function(n) { //初始化 n = 0 时 let res = [0]; for(let i = 1; i <= n; i++){ let len = res.length; //上半部分不要动,动下半部分 for(let j = len - 1; j >= 0; j--){ res.push(Math.pow(2, i - 1) + res[

2022-04-17 00:15:05 187

原创 JS力扣刷题 88. 合并两个有序数组

var merge = function(nums1, m, nums2, n) { let p = m - 1; let q = n - 1; let k = m + n - 1; //从最后一位开始填 while(p >= 0 && q >= 0) if(nums1[p] > nums2[q]) nums1[k--] = nums1[p--]; else .

2022-04-16 18:31:57 263

空空如也

空空如也

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

TA关注的人

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