自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(321)
  • 资源 (1)
  • 收藏
  • 关注

原创 pycharm格式化代码改变右边边界线位置

pycharm格式化代码改变右边边界线位置。

2023-07-30 17:25:31 194

原创 快速幂及矩阵快速幂

矩阵快速幂

2022-12-03 17:00:39 519 1

原创 python开启简易网站服务器

如果在局域网中想把当前主机作为服务器,让其他主机下载文件,可在目标文件目录下使用一下命令。为服务器的ip地址,即可访问到服务器的目录,进行文件下载。然后其他主机在网页登录。

2022-09-29 11:11:54 1069

原创 RuntimeWarning: More than 20 figures have been opened. 解决matplotlib迭代画图过程中内存线性增长的问题

RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may c

2022-09-29 10:03:17 1772

原创 IDEA中设置python解释器(不同虚拟环境)

IDEA设置python解释器

2022-08-11 13:39:40 5917

原创 使用latex导出IEEE文献格式

生成IEEE文献格式

2022-07-02 21:37:27 1317

原创 pytorch查看张量占用内存大小

返回单个元素的字节大小,返回元素个数

2022-07-02 10:48:20 4284

原创 Linux cuda11.1安装torch_scatter,torch-sparse,torch-cluster,torch-spline-conv,torch-geometric

安装torch_scatter,torch-sparse,torch-cluster,torch-spline-conv,torch-geometric

2022-06-29 21:33:11 2091 2

原创 【剑指offer】序列化二叉树

二叉树

2022-06-26 19:44:44 158

原创 python计算众数scipy

计算如下数组中每一行的众数,期望结果,第一行为1,第二行为3[[0, 0, 1, 1, 1], [2, 3, 3, 2, 3]]使用scipy 的统计包stats中的mode函数,指定第二个维度,返回元组,第一个是众数,第二个是出现次数统计。from scipy import statsimport numpy as nparr = np.array([[0, 0, 1, 1, 1], [2, 3, 3, 2, 3]])res = stats.mode(arr, axis=1)prin

2022-05-21 16:03:25 1612 1

原创 Linux查看硬盘属性(机械硬盘/固态硬盘)

通过命令lsblk -d -o name,rota查看,0表示固态硬盘,1表示机械硬盘,sda为机械硬盘,sdb为固态硬盘。

2022-05-21 15:30:59 3152

原创 【剑指offer】判断是不是平衡二叉树

这题只需要在求二叉树深度的基础上扩展一下即可,下面为求二叉树深度的代码。public HashMap<TreeNode, Integer> map = new HashMap<>();public int getDepth(TreeNode root) { if (root == null) return 0; int depthLeft = getDepth(root.left) + 1; int depthRight = getDep.

2022-05-21 13:29:35 163

原创 【剑指offer】对称的二叉树

递归法通过两个指针同时递归遍历左右两个子树,判断当前遍历到的两个节点是否相等。如下图,需要注意的是,左右子树的遍历不是完全一样,左子树采用左右遍历,右子树采用右左遍历,这样才能判断是否为镜像。public class Solution { boolean fun(TreeNode root1, TreeNode root2) { if (root1 == null && root2 == null) return true; // 左右.

2022-05-18 15:14:02 75

原创 win10远程计算机

确保被控制电脑远程功能开启控制面板 ==> 允许远程访问选中允许远程连接到此计算机查看被控制电脑的用户名和ip命令行 query user,下面的用户名为远程登录的用户名密码为改账户的登录密码(不是锁屏的pin密码),如果忘记了登陆密码自行查找如何更改密码。命令行ipconfig,查看ip(IPv4地址)控制方开启远程控制方电脑 win+r => mstsc计算机输入ip地址,用户名输入上一步查询的用户名连接,输入密码...

2022-05-18 11:02:37 225

原创 【剑指offer】二叉搜索树与双向链表

双向链表从左到右的顺序很明显就是中序遍历二叉树输出的顺序,因此核心思想就是使用中序遍历,在遍历过程中调整指针的指向。需要用到两个全局变量(递归的题目不用吝啬全局变量),curNodecurNodecurNode存储上一次访问的节点,headheadhead用来保存头节点。遍历过程中只需要用到curNodecurNodecurNode。直接套用中序遍历的模板,当curNode==null时,表明是第一个节点,此时将头节点head指向第一个节点,且将第一个节点的左指针设为null,因为它没有前驱;如果不是第.

2022-05-17 16:55:33 162

原创 torch.cdist高效计算大矩阵相似度

问题定义现有矩阵A∈RN×C,B∈RM×CA\in R^{N\times C}, B\in R^{M\times C}A∈RN×C,B∈RM×C,需要计算矩阵AAA和BBB的相似度(欧式距离)矩阵S∈RN×MS\in R^{N\times M}S∈RN×M,NNN和MMM很大。可以使用pytorch提供的torch.cdist方法,记得使用GPU计算。import torchN, M, C = 20000, 50000, 128A = torch.rand((N, C)).cuda()B = t

2022-05-17 15:22:24 3356

原创 【剑指offer】二叉树中和为某一值的路径(一)

直接对二叉树进行前序遍历,每次累加当前节点的值,如果到达叶子节点,判断当前累加和是否等于给定值,是则返回true,否则继续遍历二叉树,若找不到则返回false。import java.util.*;/* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * } */public class Solution { /** * @.

2022-05-14 13:55:46 177

原创 二叉搜索树的后序遍历序列

由于输入的是后序遍历序列,首先我们可以确定序列的最后一个位置为根节点。由于二叉搜索树的左子树比根节点小,根节点比右子树小,因此我们需要判断根节点的左右子树是否满足该条件,关键是找到其左子树和右子树。从左开始遍历序列,找到第一个比根节点大的节点,这个节点就是左右子树的界限。 如下图的二叉搜索树,其后序遍历序列为4 7 5 11 13 12 10,序列最后一位为根节点10,从左开始往右找到第一个大于10的数,即11,那么11左边(4 7 5 )均为10的左子树,右边11 13 12为10的右子树。分别判断左子.

2022-05-14 13:48:04 168

原创 win10 latex - Texlive+Texstudio安装

安装Texlive环境通过清华大学开源软件镜像站进行下,https://mirrors.tuna.tsinghua.edu.cn/ctan/systems/texlive/Images/打开镜像,双击bat文件,点击Advanced修改安装路径,然后点安装过程比较久安装完成后打开命令行,查看是否安装成功,分别输入tex -v, latex -v, xelatex -v, pdflatex -v可查看版本。下载Texstudio编译器下载地址 http://texstudio.sourc

2022-05-13 18:25:07 392

原创 Linux磁盘分区挂载

输入lsblk命令查看当前各磁盘分区情况,可以看到,sdb硬盘有1、2、5三个分区,sdb5挂载在根目录\下(即根目录的文件都存在sdb5分区)。sda硬盘没有分区也没有挂载到任何目录下,竟然有3.7T,实在太浪费了。下面就来对sda分区并且挂载。分区输入fdisk /dev/sda(需要root,如果权限不够则加sudo),表示对磁盘(disk)进行分(f)区输入m可以查看帮助输入n创建一个分区输入分区的序号,例如第一个分区1,然后分别输入这个分区的起始偏移和终止偏移(个人理解),这里我

2022-05-13 13:38:00 2828

原创 Linux查看文件占用空间、磁盘剩余、设备挂载情况

查看文件占用空间命令为du -sh file,表示disk usage,-sh为可选参数,s表示short,h表示human,即输出简短的信息,适合人类查看,file表示要查看的文件或文件夹。查看磁盘剩余情况命令为df -h,表示disk free,如下,输入该命令,可查看文件系统的大小、使用量、剩余以及挂载点,例如/dev/sdb5挂载在根目录/下,大小为468G,已使用307G,剩余139G。查看设备挂载情况命令lsblk,表示list block,如下,sda和sdb分别表示第一块和第二块

2022-05-12 12:35:08 5144

原创 【剑指offer】二叉搜索树的第k个节点

利用二叉搜索树的特点,左边节点的值<中间节点的值<右边节点的值,对二叉树进行中序遍历即可。通过res保存值,count记录遍历了多少个。中序遍历是在中间输出节点,所以count在中间++public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param proot TreeNode类 * @param k int整型 * @return int整型.

2022-05-11 18:44:23 123

原创 【剑指offer】数字序列中某一位的数字

如下图所示,将字符序列按照位数分为多个区域,蓝色区域共有10个数,每个数一位,占10位,橙色区域共90个数,每个数两位,占180位,以此类推。假设输入为n,首先需要求定位n在哪个区域(通过不断减去前面的区域所占的位数求得),然后计算它对应这个区域中第几个数,假设这个数为res,最后求出它是res的第几位数,得到最终结果。import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定.

2022-05-09 13:42:56 129

原创 【剑指offer】栈的压入、弹出序列

解题思路由于出栈序列会存在很多种可能,例如入栈顺序为1,2,3,4,5,可能的出栈序列为1,2,3,4,5,4,5,3,2,1等等,不可能将所有序列进行穷举,因此需要按照入栈序列和出栈序列进行模拟,看能否在给定入栈序列下得到出栈序列,可以则成功,否则失败。通过两个指针分别遍历入栈序列pushA和出栈序列popA,如果栈顶元素等于当前出栈元素,则模拟出栈,popA后移一位,否则继续入栈,pushA后移一位,若最终栈为空则表示成功,否则失败。public boolean IsPopOrder(int[].

2022-05-08 13:55:29 1161

原创 【剑指offer】删除链表的节点

遍历链表,判断当前节点是否为给定删除值,是则将其删除(让该节点的父节点指向其子节点)。实现时可以在链表头部加一个临时节点,方便处理待删节点在第一个的情况。public ListNode deleteNode(ListNode head, int val) { // write code here if (head == null) return head; ListNode res = new ListNode(-1); res.next = head;.

2022-05-07 18:31:09 257

原创 【剑指offer】数组中重复的数字

解法1——重排序法抓住题目中的特点,由于数组的所有数字都在0~n-1范围内,所以数据的范围和下标的范围是一样的。线性扫描数组,将扫描到的数放到它对应的下标位置上。若对应位置上已经有这个数则可以判断这是一个重复的数,否则进行交换,然后继续扫描。例如对数组2,3,1,2,循环下标i=0,扫描第一个数2,将其放到下标为2的位置上,此时下标为2的位置是1,则将其与1交换得到1,3,2,2;继续从1开始(i=0,因为num[i]!=i),将1放到下标为1的位置上,此时下标为1的位置是3,则将其与3交换得到3.

2022-05-07 14:13:56 96

原创 ssh 免密配置

在本机A上生成RSA密钥ssh-keygen将本机的公钥发给对方服务器B,需要B的密码,表示B同意被免密访问,私钥自己保存ssh-copy-id user@ipuser、ip为B的用户名和ip地址。完成该操作用ssh访问B就不需要密码了,上传下载文件都不需要密码...

2022-04-27 20:05:19 751

原创 python判断数组中是否有nan

import numpy numpy.isnan(arr).any()

2021-12-23 09:18:51 4461

原创 【二叉树】剑指offer 78 把二叉树打印成多行

描述给定一个节点数为 n 二叉树,要求从上到下按层打印二叉树的 val 值,同一层结点从左至右输出,每一层输出一行,将输出的结果存放到一个二维数组中返回。例如:给定的二叉树是{1,2,3,#,#,4,5}该二叉树多行打印层序遍历的结果是[ [1], [2,3], [4,5] ]题解该题为二叉树的层序遍历问题,不过需要分层,分层区别与不分层的难点在于使用一个队列时需要区分两层的节点,最简单的想法是用两个队列,其中一个队列临时存储当前层的节点。而优化解法只需要一个队列,可以通过一个临时变量存储

2021-10-31 19:41:32 3991

原创 【二叉树】剑指offer 8 二叉树的下一个结点

描述给定一个二叉树其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的next指针。下图为一棵有9个节点的二叉树。树中从父节点指向子节点的指针用实线表示,从子节点指向父节点的用虚线表示题解这题需要对各种情况分类讨论,一共有三种情况第一种:如果这个节点的右孩子不为空,根据中序遍历的特点,它的下一个节点是它的右孩子的最左边的孩子第二种:如果这个节点是其父亲的左孩子,根据中序遍历的特点,它的下一个节点就是其父亲(注意如果父亲为null

2021-10-31 19:18:22 107

原创 【二叉树】剑指offer 77 按之字形顺序打印二叉树

描述给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替)输出[[1],[3,2],[4,5]]栈解法用两个栈来存奇数层和偶数层的节点,如果当前为奇数层则先入栈左孩子再入栈右孩子,如果为偶数层则先入栈右孩子再入栈左孩子import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.Stack;public class

2021-10-31 16:51:44 76

原创 【二叉树】剑指offer 54 二叉搜索树的第k个结点

描述给定一棵结点数为 n 二叉搜索树,请找出其中的第 k 小的TreeNode结点。数据范围:0≤n<=1000 \le n<=1000≤n<=100,0≤k≤1000\le k≤1000≤k≤100,树上每个结点的值满足0≤val≤1000≤val≤1000≤val≤100要求:空间复杂度 O(1),时间复杂度 O(n)例如,输入:{5,3,7,2,4,6,8},3, 输出4题解二叉搜索树的性质是左孩子小于父节点,父节点小于右孩子,则中序遍历为有序的,需要利用该条件来求解

2021-10-31 15:24:09 113

原创 【链表】剑指offer 22. 链表中倒数最后k个结点

题目输入一个长度为 n 的链表,设链表中的元素的值为 ai ,输出一个链表,该输出链表包含原链表中从倒数第 k 个结点至尾节点的全部节点。如果该链表长度小于k,请返回一个长度为 0 的链表。数据范围:0<n<1050 < n <10^50<n<105 ,0≤ai≤1090 \leq a_i \leq 10^90≤ai​≤109 ,0≤k≤1090 \leq k \leq 10^90≤k≤109要求:空间复杂度 O(n)O(n),时间复杂度 O(n)O(n)进阶:

2021-10-24 23:05:16 975

原创 python matplotlib quiver

matplotlib中的 quiver方法可用于绘制箭头(向量),下面介绍二维和三维中的使用方法二维箭头向量绘制一般参数如下quiver(X, Y, U, V, **kw)参数的含义如下图所示,其中X和Y决定箭头尾部的位置,U和V决定箭头的方向,可以理解为以箭头尾部为起点,沿X和Y轴的分量。import numpy as npimport matplotlib.pyplot as pltx = np.linspace(0, 10, 40)y = x ** 2 * np.exp(-x)

2021-09-29 14:02:49 4069

原创 python安装meshplot

用conda或者pip直接安装如果出问题,可以考虑使用以下方法,从代码仓库中安装下载代码库git clone https://github.com/skoch9/meshplot.git安装cd meshplotpython setup.py install

2021-09-23 13:27:47 1060

原创 cuda10.1 + py3.7 + torch1.7.1 安装MinkowskiEngine

新建conda环境conda create -n mink python=3.7source activate mink安装torch1.7.1+torchvision0.8.2,可到此处下载torch-1.7.1+cu101-cp37-cp37m-linux_x86_64.whltorchvision-0.8.2+cu101-cp37-cp37m-linux_x86_64.whl在whl路径下安装pip install torch-1.7.1+cu101-cp37-cp37m-linux

2021-09-03 19:03:15 1441 3

原创 pytorch one-hot编码

使用scatter_将标签转换为one-hotimport torchnum_class = 5label = torch.tensor([0, 2, 1, 4, 1, 3])one_hot = torch.zeros((len(label), num_class)).scatter_(1, label.long().reshape(-1, 1), 1)print(one_hot)"""tensor([[1., 0., 0., 0., 0.], [0., 0., 1., 0.

2021-08-29 11:31:08 1422

原创 pytorch更新tensor中指定index位置的值scatter_add_

使用scatter_add_更新tensor张量中指定index位置的值例子import torcha = torch.zeros((3, 4))print(a)"""tensor([[0., 0., 0., 0.], [0., 0., 0., 0.], [0., 0., 0., 0.]])"""b = torch.rand((2, 4))print(b)"""tensor([[0.6293, 0.3050, 0.9608, 0.5577],

2021-08-29 11:26:31 2560

原创 RTX3090 + cuda 11.1 + torch1.9.0 安装 MinkowskiEngine

创建conda环境conda create -n mink python=3.8source activate mink安装torch1.9.0 + torchvision可到此处下载whl文件(也可以直接pip安装)pip install torch-1.9.0+cu111-cp38-cp38-linux_x86_64.whl然后安装torchvisionpip install torchvision安装完后要看torch对应的cuda版本是否为cuda11.1import tor

2021-08-22 10:22:12 1469 2

原创 ERROR: Could not find a version that satisfies the requirement dateutil

安装dateutil出错,提示ERROR: Could not find a version that satisfies the requirement dateutil解决办法:pip install python-dateutil

2021-08-15 20:28:50 2094

segma-master.zip

keras实现图像分割包括FCN8,FCN32,UNET,包括6张训练图片和label,以及预训练VGG16.h5模型

2020-04-13

空空如也

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

TA关注的人

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