- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 pytorch 代码记录之二、utils.MetricLogger
该函数是为了统计各项数据,通过调用来使用或显示各项指标,通过具体项目自定义的函数。metric_logger函数,可称为度量记录器,可自定义。
2023-06-10 10:22:57
1071
原创 UP-DETR:Unsupervised Pre-training for Object Detection with Transformers 论文组会PPT
UP-DETR论文介绍PPT
2022-11-11 15:54:41
273
原创 Flask使用------python算法后端连接c#Winform前端
Flask使用------python算法后端连接c#Winform前端前段时间,一直在纠结怎么将Ubuntu系统的python算法和Windows系统的C#连接起来,后面在经过搜了很多资料后,发现了Flask这个神奇的东西。学了几天,做出了自己需要的东西,就没有继续深入学习下去了,毕竟现在没有很多时间去学习。等暑期可以深入学一下,还挺有意思的。我在网上搜集了一些有关python和C#用Flask连接的例子,但是没有我想要的,索性自己边看边捣鼓也差不多捣鼓出来了。就把代码贴到这里了。前提:我的
2022-04-30 15:22:24
1262
原创 python后端与C# WinForm前端连接之Flask使用
Flask使用python后端与C# WinForm前端连接毕设需要做一个C#写的前端应用,后端算法是用python训练的。所以,一直在找怎么将这两者结合起来,即如何将python算法部署到winform前端。硬件局限:笔记本没有GPU,只能使用CPU;算法必须使用GPU跑。查了大量的资料,终于在flask论坛上找到了答案。同时,找到了一个链接。所以最后选择了使用Flask将python部署到Winform。代码部分直接放到这里:```pythonsave_path = './img
2022-04-15 22:02:34
1968
转载 极大似然估计
极大似然估计回顾---用于机器学习作者:xingoo出处:http://www.cnblogs.com/xing901022本文版权归作者和博客园共有。欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接极大似然估计,又名最可能估计。通俗理解就是,一次试验就发生的事件,这个事件本身发生概率最大。抽象一点理解为,如果事件发生是关于θ 参数的,如果一次事件发生时,样本为x1,…xk,那么θ^(x1,…xk)就是θ的估计值。当θ=θ ^(x1,…xk)时,当前样本发生的概率最大。极大似然
2022-03-14 19:22:24
1958
原创 Merkle Tree
Merkle Tree是一种Hash Tree,顾名思义,就是存储hash值的一棵树。其中,叶子结点存储数据块的Hash值,非叶子节点是其对应子节点串联字符串的hash值。Merkle Tree大神讲解Merkle Tree的遍历:遍历有两个循环临界条件:1、当前节点不是叶节点时,且其节点与原节点不相同时,找其子节点与原树中不相同节点;2、当前节点是叶节点。...
2021-12-13 09:50:32
295
原创 java中的boolean
如果是全局变量,包装类Boolean是会被默认赋值为null;基础类型boolean会被默认赋值为false的。赋值过程应该是在 类加载的时候赋值的。如果是局部变量,当你不赋值去使用的时候,编译器会直接报错,所以局部变量肯定是没有默认值的。...
2021-08-26 10:20:36
2773
原创 leetcode之两个链表生成相加链表
题目:假设链表中每一个节点的值都在 0 - 9之间,那么链表整体就可以代表一个整数。给定两个这种链表,请生成代表两个整数相加值的结果链表。例如:链表 1为 9->3->7,链表 2为 6->3,最后生成新的结果链表为 1->0->0->0。示例1输入:[9,3,7],[6,3]返回值:{1,0,0,0}备注:1≤n,m≤1061 \leq n, m \leq 10^61≤n,m≤1060≤ai,bi≤90 \leq...
2021-08-25 21:03:06
299
原创 leetcode:NC127 最长公共子串
题目:给定两个字符串str1和str2,输出两个字符串的最长公共子串题目保证str1和str2的最长公共子串存在且唯一。示例1输入:"1AB2345CD","12345EF"返回值:"2345"备注:1≤∣str1∣,∣str2∣≤5 0001 \leq |str_1|, |str_2| \leq 5\,0001≤∣str1∣,∣str2∣≤5000思路:动态规划问题。先确定状态,f(i, j)表示str1中前i个字符和str2中前j个字符中...
2021-08-25 20:07:38
272
原创 leetcode之按之字形顺序打印二叉树
题目:给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)例如:给定的二叉树是{1,2,3,#,#,4,5}该二叉树之字形层序遍历的结果是[[1],[3,2],[4,5]]思路:比照层序遍历的方法。这里使用两个栈来实现存储每层节点。答案要求分层输出,是一个二维数组的形式,所以对于其中的一层来说,先利用stack1中的数据(这是上一层遍历时存到栈中的这一层的值)存到list中,然后按照层数分辨出左右子节...
2021-08-25 15:20:29
357
原创 int char String相互转换
一、String 转为 intint a = Integer.parseInt(string);int a = Integer.valueOf(string).intValue();二、int 转为 StringString string = Integer.toString(a);String string = String.valueOf(a);String string = "" + a;三、char 转为 int:将字符减一个‘0’即可int a = cha - '0
2021-08-25 11:40:01
232
转载 String 和 StringBuffer、StringBuilder区别
String StringBuffer StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量优先的内存空间 StringBuffer是可变类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象。每个StringBuffer对象都有一定的缓冲区容量,当字符串大小没有超过容量时,不会分配新的容量,当字符串大小超过容量时,会自动增加容量 可变类,速度更快...
2021-08-25 11:10:46
142
原创 leetcode之数组排序
题目:给你一个整数数组nums,请你将该数组升序排列。摘抄自leetcode大佬JavaEdison的代码class Solution { public int[] sortArray(int[] nums) { if(nums.length <=1)return nums; //qSort(nums,0,nums.length-1); //selectSort(nums); // insertSort(nums); ..
2021-08-23 16:20:52
218
原创 leetcode之合并两个有序数组
题目:给你两个按 非递减顺序 排列的整数数组nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。代码:class Solu..
2021-08-19 15:28:24
243
原创 leetcode之有效的括号(C++)
题目:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-parentheses著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。解法:思路:一开始,我使用栈作为s的存储,遇到括号在经过选择后就存入栈,...
2021-08-17 21:42:13
199
原创 leetcode之存在重复元素
题目:给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。一开始自己使用了冒泡排序,然后就超时了。。。。horrible然后看了官方回答和题解,总结有三种方法:快排、哈希、大佬的方法。方法一:就是直接调用sort函数就可,然后再比较。但是!这里std:sort和sort方法竟然是不一样的,前者更快一些,我网上搜了一下,小白还是不理解,我打算沉淀一下再去专门搞一下这个。方法二:哈希,C++.
2021-08-17 16:28:48
164
原创 C++之哈希表(STL容器)
在刷算法题的时候,总是会遇到哈希表结构,而C++的STL是自带有哈希结构的。注:STL为C++标准库,一般有三个常用的:HP STL;P.j.Plauger STL;SGL STL。 其中HP STL是第一个实现的版本,也是大多数STL的蓝本。这三个里面,HP STL和SGL STL是开源的。SGL STL被Linux的C++编译器GCC采用,可读性较强。哈希表定义:哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通...
2021-08-17 16:07:04
1466
原创 leetcode之用队列实现栈
这是我在leetcode的正经八百的第二道题,思路还是没怎么又,所以膜拜了几个大佬和官方的答案,我发现答案看懂了以后就好简单呀,真不知道自己一开始为啥怎么都想不到!所以就简单记录一下。题目:请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元...
2021-08-16 22:07:15
128
原创 区分递归和迭代
首先,二者有相通的地方,不然的话也不至于容易弄混哈哈哈。但是,这两者在算法上可以相互替换的情况很少。递归:通常被用来描述以自相似方法重复事物的过程,在数学和计算机科学中,指的是在函数定义中使用函数自身的方法。 按照我的理解来说,就是一个函数不断地使用自己,A使用A。迭代:重复反馈活动的过程,一次迭代的结果作为下一次迭代的初始值,不断地重复。A不断重复使用B。按照结构来区分的话:迭代属于环结构(一次迭代的结果作为下一次迭代的初始值);递归属于树结构(递归---递推+回归;递推...
2021-08-15 16:21:23
323
原创 合并两个有序链表(2)
后序来啦!!!之前说按照自己的思路走一走这个程序,今天走了一下,还是发现了一个很大的问题,那就是链表的first没有办法固定,或者说我不知道怎么固定!!!!!!horrible!!!如果有大佬知道怎么固定的话,可以留言告诉我嘛!题目和代码放到下面:题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。/** * Definition for singly-linked list. * struct ListNode { *
2021-08-14 20:54:59
128
原创 KMP字符串模式匹配算法之失败回退(部分摘抄)
今天看KMP算法,对于next函数的理解一直有些困难,找了好久网上的资料,老师的PPT,最后终于找到了一个我可以理解的说法。有关KMP算法,因为模式匹配(找字符串子串位置)使用暴力回溯很浪费时间,所以诞生了KMP算法。KMP算法引用了一个next函数,计算目标字符串的next参数,这里有两种标记方法,我比较倾向于以-1开头的,因为可以把它看做位移,便于我的理解;另一种是0开头的。KMP:(1)next算法:使用递推的方法,next[1]=0;next[j]=k;next[j+1]=?...
2021-08-14 17:50:42
1177
原创 C++中的&
又遇到一个问题!有关void hanshu(int& a,int& b){。。。}中,&和*的不同,这里找到一个大佬的解释,超棒!解决了我的困惑!定义方法的时候,int add(int& a,int& b){}和int add(int a,int b){}的区别:int add(int a,int b){}在调用方法传入参数的时候,方法内部会定义两个变量a和b,并且会为这两个变量开辟新的的地址,然后将传入的参数的值赋值到这两个地址。也就是说相对于拷贝了一份传入
2021-08-12 16:15:47
211
原创 c++中指针的相关知识
在看书中链式栈中,看到了删除栈中有以下语句:ListNode *p=new ListNode();p = top; top = top->link; delete p;这里p的出现引起了我的困惑。可能是c++基础不牢固,所以进行了一系列搜集资料,最后理解如下:1、首先说一下指针的有关知识。例,int *p;p = &3;p指向的是地址,*p指的是数值。或者说,在内存中,p所在的那块内存中存的是一个地址数值,这里是3这个数值的地址存到了p所指的那块内存里。*p=*q,意思
2021-08-12 15:55:55
420
原创 链表---合并两个有序链表
看完了第二章数据结构,想着做一下题题目:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。第一次做力扣上的题,有点拿不准思路。一开始的思路是仿照课本上顺序表的应用,即集合的合交做的:l1和l2进行比较,l2中有的保留,没有的写入l2,但是操作起来小问题太多了,比如插入的时候链表为空,或者只有一个结点(l1或l2),用后插法和前插法的使用地区等等。所以大体思路有了,但是不完善,最后出于对细节的忽略,放弃了这个解法,去看了官网上的解决办法,这里先看暴
2021-08-11 20:00:23
222
原创 C++中符号的使用----:: . -> :
在C++中,这四种符号理解总是有些错误,记录一下1、::,这里常用的是空间作用域,命名空间作用域,用来注明所使用的类、函数属于哪一个命名空间的,还有其他作用,这个大佬写的很是详细。简单用我的理解就是Class::函数,这个意思。2、.,这个一般是对象或者结构体调用的时候采用的。3、->,这个一般是指针使用,指针中的成员提取。但是指针只能是指向类、结构、联合的指针。4、:,这个一般是继承的时候使用。...
2021-08-10 21:04:13
886
原创 c++------文件输入输出
需要用到一个头文件<fstream>;(该代码来源于《数据结构》(第二版)殷人坤)要创建一个输入(输出)流,必须声明它为ifstream(ofstream)类的实例。执行输入输出操作的流必须声明它为fstream类的实例。#include <stdlib.h>#include <stdio.h>#include <fstream> //fstream和fstream.h的不同可类比iostream和iostream.h的不同#inclu
2021-08-09 17:54:34
221
原创 c++有关iostream和iostream.h
有关iostream和iostream.hiostream和iostream.h在接口和执行上不同。link这里按照我的需要记录一下:1、一般新代码中使用iostream,但如果处理过去的代码,可以使用iostream.h表示继承,以保持代码一致性。2、iostream表示你使用的是标注命名空间(using namespace std;),这是遵循c++标准的;iostream.h没有遵循c++标准,不建议使用!...
2021-08-09 17:43:59
680
原创 机器学习--利用卷积神经网络进行鸟类识别
机器学习–利用卷积神经网络进行鸟类识别本实验是在Windows10系统上安装Anaconda 3,基于建立在TensorFlow上的模块化的、透明的深度学习库TFLearn,完成实验训练及验证结果。(一)算法原理分析卷积神经网络(Convolutional Neural Network,CNN)是根据大脑神经元而设计的,是一种前馈多层网络。其信息流动只有一个方向,即从输入到输出,每个层使用一组卷积核执行多个转换。卷积神经网络模型主要包括卷积层、池化层和全连接层。(二)数据描述本实验的数据是
2021-05-08 23:22:00
4461
6
机器学习--利用卷积神经网络进行鸟类识别-代码
2022-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人