自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 将外网服务器端口映射到本地端口

需要在GPU服务器上运行一个Web项目,由于本人笔记本无独显(QAQ),于是需要借助外网的GPU服务器运行后端代码;并且我们还想在自己的localhost上显示出网站页面,于是借助SSH隧道代理端口的方式将外网服务器端口映射到本地端口;首先确定映射的端口,如设置端口号为8080,即表示网站的地址为127.0.0.1:8080;将网站代码上传到GPU服务器上,在终端运行;进行端口映射,在本地服务器终端中输入ssh -CNgv -L 8080:127.0.0.1:8080 用户名@服务器域名 -p 端口

2022-03-16 11:15:59 6000 6

原创 下载jupyterlab中的文件夹

因为jupyterlab中只支持下载单个文件,而不支持下载文件夹;但是当想要下载的文件过多时,一个个手动下载无疑是非常麻烦的,有一个解决方法就是使用linux中的zip命令进行下载;(以下操作在ubuntu系统中进行)首先更新apt-getapt-get updateapt-get upgrade然后下载zipapt-get install zip利用zip对需要下载的文件夹进行压缩zip -r example.zip /root/autodl-nas/gtv/saveroot/small

2022-02-25 19:12:43 5404 3

原创 nnUNet训练并推理自己的数据集

(默认所需环境已经配置好,且为linux环境与linux命令)(1) 安装hiddenlayer pip install --upgrade git+https://github.com/nanohanno/hiddenlayer.git@bugfix/get_trace_graph#egg=hiddenlayer(一行)(2)安装nnUNet1、在空间充足的位置安装nnUNet(最好超过100G),在该位置mkdir home2、然后进入home文件夹mkdir nnUNetFrame,进入

2022-02-07 16:24:25 9010 18

原创 GPU训练完后自动关机

GPU训练完后自动关机:在代码最末尾添加import osos.system("shutdown")

2022-01-28 09:57:23 1608

原创 终端下创建pytorch环境

conda create -n torch python=3.8conda activate(deactivate) torch装包:pip install sklearnpip install SimpleITKpip install numpypip install matplotlibpip install opencv-pythonpip install pandas# pytorch官网下载合适的版本,注意conda大版本要一致,如这里的11conda install p.

2022-01-07 23:24:35 1060

原创 终端中添加python环境变量

在pycharm中因为是直接把整个文件导入了进去,所以可以自由import文件中的自定义包。但是终端的话,如果想要在某一.py文件里import同一根文件夹的包的话,就还需要进行python环境变量的添加,否则会出现形如ModuleNotFoundError: No module named 'pymic'这样无法找到对应包的bug;解决方法若文件目录如上图所示,想在运行deform.py时调用transform3d,即在deform.py中有# deform.pyfrom pymic.io

2022-01-07 11:03:29 865 3

转载 由数据范围反推算法复杂度以及算法内容

原地址:由数据范围反推算法复杂度以及算法内容

2021-12-01 09:02:56 59

原创 RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o

又是一个莫名其妙的bug,搞了我一下午。。这样有问题:attention_vector = self.softmax(attentions)然后这样就OK了:attention_vector = self.softmax(attentions).clone()加了个.clone()就行了。。。(看好多博客说无非就是赋值问题,如a+=b是不行的,但我这样的确实没见过)如果梯度有问题的话可以用这个来检查:with torch.autograd.set_detect_anomaly(True)

2021-11-09 19:43:14 106

原创 RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o

又一个折腾了我半天(真·半天)的bug,而且我还弄了俩不同的导致这错误的bug:错误原因就两种,一种是nn.ReLU()的inplace,另外一种是赋值的时候出错,如a += 1要改为a = a + 1等;(1)self.relu = nn.ReLU(inplace=True)得把某些地方的inplace改为False,否则不支持反向传播(挺神奇的)(2)attention = self.softmax(attentions)检查这种bug有一种专门的方法,就是在后面加个.clone()

2021-09-09 21:01:56 120

原创 RuntimeError: non-positive stride is not supported

应该是遇到过的最离谱的bug。。。。。def __init__(self, in_channel, out_channel, group=32, s=1, n=0):这样是错的;def __init__(self, in_channel, out_channel, s=1, n=0, group=32):调换下形参的位置就解决了。。。长见识了...

2021-09-07 09:26:59 3013 7

原创 机器学习基础之决策树

决策树是一种基本的分类与回归方法一、决策树的基本概念决策树的结点和有向边分别表示:内部结点表示一个特征或者属性叶子结点表示一个分类。有向边代表了一个划分规则决策树从根结点到子结点的的有向边代表了一条路径决策树的路径是互斥并且是完备的(不重不漏)用决策树分类时,是对样本的某个特征进行测试,根据测试结果将样本分配如果将样本分配到了树的子结点上,每个子结点对应该特征的一个取值决策树的优点:可读性强,分类速度快决策树遵循分而治之的思想,可认为是if-else-then

2021-08-29 11:52:25 438

原创 多张png合成为nii.gz

将多张png图片按照(h, w, c)组装成nii.gzimport numpy as npimport nibabel as nibfrom glob import globfrom torch.utils.data import Dataset, DataLoaderfrom torchvision import transformsfrom PIL import Imageclass DataSet(Dataset): # 方便读数据 def __init__(self,

2021-08-26 17:05:32 1521 4

原创 RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the

狗bug,弄了我一天。。。原因是在用GPU跑代码的时候,网络模型中使用了多个类,结果习惯性地只给主类使用了.to(device),网络中的其他类没管了,导致出现这个bug,后来在涉及到的类后面都添加了.to(device)后就OK了block = Block().to(device) # 次类net = Uet2plus().to(device) # 网络中的主要类...

2021-08-24 22:48:20 265

原创 pytorch生成包的版本文件及colab下打开终端

1.pipreqs复现别人的代码有时会由于包版本而造成结果有很大的误差,因此有时需要查看我们项目中使用的包的版本,在python中可以通过pipreqs直接查看;安装模块:pip install pipreqs之后直接在终端输入pipreqs即可,注意是要在自己运行后的项目中执行该命令,因为它是根据项目运行情况来提取出项目使用过的包,以及它们对应的版本;2.colab终端colab在pro模式下可以直接打开终端,但是普通模式就需要依赖kora包!pip install korafrom k

2021-08-19 21:21:33 683

原创 pytorch下使用netron进行网络结构可视化+下载colab的数据文件+下载kaggle的数据文件

https://github.com/lutzroeder/netron#installhttps://netron.app/

2021-08-19 20:35:40 618

原创 图片及其mask图片均在同一个文件夹的处理

进行图像分割时遇到了图片及标注图片都在同一个文件夹的情况,此时需要将图片与mask分开,如果手工处理的话会比较麻烦,因为图片数量较大,于是想到借助python处理;import osfrom PIL import Imageimport shutilpath = '../data2/train'pics = os.listdir(path) # 以列表形式存储path路径下的所有文件名print(len(pics)) # 查看该path下的文件数topath_data = '../dat

2021-08-14 10:16:02 240

原创 贝叶斯决策论及朴素贝叶斯分类器

文章目录一、贝叶斯决策论(Bayesian decision theory)1.概率和统计2.概率函数和似然函数3.贝叶斯公式一、贝叶斯决策论(Bayesian decision theory)1.概率和统计(1)概率(probability):已知一个模型和对应参数,预测该模型产生的结果及特性(如均值,方差,协方差等),即数据;(2)统计(statistics):根据已有数据预测出模型及对应参数;可知概率和统计要研究的目的是相反的;2.概率函数和似然函数对于函数P(x∣θ)P\left( x

2021-08-05 11:07:17 455

原创 机器学习基础之聚类

文章目录一、简介二、聚类算法-K-means一、简介我们之前讨论的线性回归和分类都是机器学习中的有监督学习的内容,即给定输入以及对应的标签来训练我们的模型,可以理解为我们知道我们种的是什么种子,也知道我们将收获到什么瓜;而无监督学习则明显区别与有监督学习,即只有输入,我们并不知道数据的标签是什么,可以理解为我们知道我们种的是什么种子,但是我们不知道我们将收获怎样的果实;我们的目标是通过对大量数据进行学习,来发掘出数据内部的规律和性质,即让机器自己去总结规律而不需要我们人去指导或者提供信息,这样可想而知难

2021-08-05 10:50:17 356

原创 数电educoder的verilog参考答案

文章目录一、基本运算器1.一位全加器2.无符号8位二进制数加法器3.八位减法器4.定点二进制数的补码加减法运算器二、编码器和译码器1.编码器2.译码器三、组合逻辑电路入门1.三人表决电路2.多路选择器四、组合逻辑电路进阶1.半加器2.全加器3.显示译码器五、时序逻辑电路入门1.计数器2.移位寄存器六、时序逻辑电路进阶1.六位十进制计数器2. 24位寄存器七、序列检测器1. 四位寄存器2.序列检测器八、数字频率计1.测频时序控制电路2.数字频率计(不知道怎么弄成verilog的高亮,复制粘贴到编译器上面看吧

2021-04-30 18:18:31 4766 3

原创 算法基础之动态规划

文章目录一、背包问题1.01背包问题(1)二维数组版(2)一维数组版2.完全背包问题(1)三维数组朴素做法一、背包问题1.01背包问题介绍:有 N 件物品和一个容量为 V 的背包,每件物品有各自的价值且只能被选择一次,要求在有限的背包容量下,装入的物品总价值最大;特点:每种物品最多只能选一次,即对每种物品,只有选一种和不选两种状态,是其他背包问题的基础;闫式DP分析法:f[i][j]:表示所有选法集合中,只从前i个物品中选,并且总体积≤j的选法的集合,它的值是这个集合中每一个选法的最大值

2021-04-25 08:26:25 57

原创 xtu1264字符不重复子串(双指针+map)

题目描述给一个只含英文小写的字符串,求其最长的字符不重复的子串。比如字符串"abcabc",最长字符不重复子串长度为3,最长字符不重复子串为"abc",“bca”,“cab”;字符串"aaaaa",最长字符不重复子串长度为1,字符串为"a"。输入 存在多个样例,每行输入一个字符串,串长不超过10000。输出 每个样例先输出最长的字符不重复子串的长度,然后按字典序输出这些不重复子串,每个子串输出一行。样例输入abcabcaaaaa样例输出3abcbcacab1a由于题意.

2021-04-15 20:20:41 345

原创 homework(结构体排序+map)

Homework 题目描述鉴于很多同学Ctrl+A,Ctrl+C,Ctrl+V的问题,Eric想重新计算一下作业成绩,成绩计算的规则如下:每道题按正确提交的先后顺序给分,第1-12名32,13-24名16分,25-48名8分,49-96名4分,97-192名2分,其余1分。学生所有题目的分数累加和为其积分。作业成绩=round(100+log(1+本人积分−最高积分最高积分)×10),其中round为四舍五入取整,log以自然对数为底。Eric已经通过查询数据库得到每个人每道题的排名情况,请写一

2021-04-10 19:44:07 307 1

原创 春季·每年一题-二分

文章目录一、A-B数对1.老实二分2.二分函数3.map4.双指针5.hash二、砍树一、A-B数对题目链接1.老实二分将A-B=C转换成B=A-C,遍历A,二分求B即可,O(nlogn);#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int N =2e6 + 10;int a[N];int search(int l, int r,

2021-04-09 15:58:32 64

原创 机器学习基础之分类

文章目录sigmoid函数将任意值映射到0~1def sigmoid(z): return 1/(1 + np.exp(-z))sklearn中的SGDRegression模块实现分类的SGD:from sklearn.linear_model import SGDClassifierimport numpy as npfile1 = "classification_train.txt"file2 = "classification_test.txt"datax = np.loa

2021-04-08 13:58:08 358

原创 算法基础之数学知识模板

文章目录一、数论1.质数(1)试除法判断质数(2)试除法分解质因数一、数论1.质数(1)试除法判断质数bool isnum(int x)//最基础的方法{ int sqrt_x = sqrt(x); if(x < 2) return false; else{ for(int i = 2; i <= sqrt_x; ++i)//或i <= n / i if(!(x % i))

2021-03-26 17:50:32 132 4

原创 基本numpy学习

jupyer notebook笔记地址:https://gist.github.com/litchimango/23ccc5222e85e08f76b431a813f39572import numpy as npa1 = np.array([1,2,3,])#生成np数组a2 = np.array(range(12))a3 = np.arange(2,12,3)#左闭右开print(a1 ,a2, a3)print(a1.dtype)#numpy中的数据类型,如int64,bool,char3

2021-03-24 10:39:04 89

原创 机器学习基础之线性回归

文章目录一、线性回归一、线性回归给定数据集D=(x1,y1),(x2,y2),⋅⋅⋅,(xm,ym)D={(x1,y1),(x2,y2),···,(xm,ym)}D=(x1,y1),(x2,y2),⋅⋅⋅,(xm,ym) ,我们尝试建立一个模型,使得对任一xi,都能求出与之对应的yi出来,而形象点,就是用一条直线去拟合这些样本点,由于拟合的模型是线性的,所以叫做线性回归;在得到了线性回归的模型后,我们可以根据x预测出对应的y;由于是线性模型,所以我们可以用f(xi)=wxi+bf(xi)=wxi+bf

2021-03-22 19:06:42 632 1

原创 湘大学生邮箱

一、简介湘潭大学为每位学生(本科生、硕士生及博士生)免费申请了一个电子邮箱,容量无限,可发2G超大附件,可终生使用。现将有关事项说明如下:1、访问地址:http://mail.smail.xtu.edu.cn/2、账号:学号@smail.xtu.edu.cn3、初始密码:Xtu+身份证后六位。用户初次登录邮箱,需立即修改密码。密码设置规则:大小写字母与数字组合(8-24位)。二、账号申请学生邮箱用来申请某些账号还是很舒服的,比如JetBrains的学生认证:认证链接:https://www

2021-03-14 14:45:11 5868 5

原创 算法基础的数据结构模板

一、链表由于动态链表new一个新空间的时候耗时较长,因此写算法题时,尽量用数组模拟链表,即静态链表,不需要new,更快速,可以节约很多时间;1.单链表const int N=1e8; int e[N]; //存储节点的值int ne[N]; //存储节点的next指针int idx; //表示当前用到了哪个节点int head; //head存储链表头void init(void) //初始化{ idx=0; head=-1;}void i

2021-03-02 16:34:31 351

原创 C++语法基础

一、数组#include <iostream>#include <algorithm>#include <cstring>void array_study(void){ static int cnt; //static静态变量修饰符,静态变量相当于只能在该函数中使用的全局变量,自动初始化为0,即在调用该函数时,只有第一次调用才会初始化,之后的调用都会直接跳过初始化这一步 int a[10],b[10]; //局部数组最大长度大概为510

2021-02-26 19:24:56 216 1

原创 sstream

1.作用:从字符串中读取各种信息#include <iostream>#include <string>#include <sstream>using namespace std;int main(){ string str; getline(cin,str); //读入 "20 xtu 20 3.14" stringstream ssin(str); int a,b; double c; string s; s

2021-02-26 08:46:07 92

原创 算法基础的基础模板

一.归并排序void merge_sort(int a[],int left,int right)//本来想用vector的,结果gg,QAQ { if(left>=right)//递归终止条件 return; int mid=(left+right)>>1; merge_sort(a,left,mid);//左右区间分别进行递归,最后得到的两个区间都各自有序 merge_sort(a,mid+1,right); int i=l

2021-02-25 20:23:53 181 1

原创 偏移量

例题链接:输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式输入共一行,包含两个整数n和m。输出格式输出满足要求的矩阵。矩阵占n行,每行包含m个空格隔开的整数。数据范围1≤n,m≤100输入样例:3 3输出样例:1 2 38 9 47 6 5include <iostream> //偏移量using namespace std;const int N=110;int main()

2021-02-10 20:56:03 387

原创 c语言笔记

1.函数里面未知量尽量也都和main里的一样初始化;2.十进制转n进制数组转:for(i=0;i<len;i++){ num=a[i]; sum=sum*进制+num;}3.当无限输入且输入条件难以在循环头中时while(1){if()break;}4.较大内存数组应在main上定义,如a[100000],a[1000][1000];5.定义全局变量可方便在main函数及其他函数中改变变量的值(矩阵,matrix);6.用scanf%s,gets时,前面加

2020-11-27 14:53:12 227

原创 小问题

当我们要用到内存比较大的数组,比如f[1000000]或是f[1000][1000]这样的数组时该怎么办呢?如果是在main函数里面的时候系统会直接崩掉,所以这时候就在全局定义一个大数组就ok啦。...

2020-03-08 12:49:36 95

空空如也

空空如也

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

TA关注的人

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