- 博客(33)
- 资源 (6)
- 收藏
- 关注
原创 docker无法映射/挂载根目录
最近想要使用nas-tools做做刮削,电影存在一个机械磁盘里,机械磁盘被挂载到/data1下,发现一个很奇怪的问题,docker只能挂载成功home目录下的文件夹,这样就不行,后面发现这是因为我在装Ubuntu的时候预装了docker,这个docker是snap docker,他。屏幕中出现了docker的hello world表示安装成功。这样设置,就能在nas-tools里看到文件,但是。使用apt重新安装docker。卸载snap docker。
2024-05-09 11:37:03 779
原创 Ubuntu设置smb功能
如果想要创建一个smb文件夹,可以被组usergroup内的所有成员访问,但是只能被user2进行写操作,可以先创建user2,user3,然后将其加入组usergroup,并写入如下配置。所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用 gpasswd 这个命令来添加操作用户。将用户添加到smb用户中并激活(这里会要设置smb用户密码,可以跟ubuntu用户密码一致)这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉。具体来说说如何配置一个私人的文件夹和多人共享的文件夹。
2024-05-08 10:18:36 1668
原创 dicom2nii
不知道为什么 ADNI突然只能下载dicom的数据了,所以要重新转一下,将dicom格式转成Nii。可以直接用MRIcron这个软件进行转换,软件中自带了dcm2niix这个指令。为了方便批处理,我下载了Linux的MRIcron,可以使用命令。最后的输出会自动在输出文件名后加nii。批处理python程序。
2023-11-23 21:45:57 558
原创 Linux发行版浅析
ref:国产知名 Linux 发行版 Deepin 为什么没有火起来?- 醉卧沙场的回答 - 知乎。在这两个的基础上,有的发行版跳过筛选测试包的过程,修改一些包的库,然后修改桌面和增加一些特性。进行二次开发,基于deb的包管理系统,更改桌面UI,增加一些软件适配(比如。linux有许多发行版,这些主流的发行版本互相之间有什么关联和区别呢?,是一个商业发行版,需要购买,增加了大量技术人员进行技术支持,而。增加了许多国产软件的支持)和其他特性。
2023-11-23 21:44:32 428
原创 快速排序C++实现
使用分治的思想,选择一个基准数,将比基准数小的放在基准数的左边,比基准大的放在基准数的右边,这样就将数组分成了两份,右边的一定比左边的大,然后再用同样的方法去递归的选择两边的子数组。 当low指向基准指针的时候,high指针从右往左移动,见到比基准小的数就将low和high两个指针指向的值进行交换(本质就是通过交换,把一个比基准小的数放到了数组的最小端)对快排来说,排序最快的情况是每次基准数都选择为数组的中间数,排列后在数组的中间,这样分成的两个子区间为原数组的一半,可以减小排序的次数。
2023-07-25 10:23:17 95
原创 c语言:枚举 enum
给枚举赋一个别的值不会报错是因为枚举类型的本质是整型,只是在编译时使用了符号名称来代替整型值,所以赋值时即使使用了非枚举中定义的值也不会报错,只是不能保证这个值能被正确地解释和使用。 note:他其实就是一种数据类型,他的大小不是像结构体那样,里面有多少数据就多少的大小,不管有多少元素都是。枚举类型里的名字通常不是真的使用,要使用的是大括号里的常量名字。使得他超过32位,这样整个枚举的大小会变成8也就是64位。 在C中是可以的,使用枚举的时候就等同于使用。的结果是4,也就是32位一个整数的大小。
2023-07-21 14:51:16 85
原创 NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver
Dynamic Kernel Module System,能做到内核变更后自动编译模块,适配新的内核那么首先需要安装dkms这个包发现yum提示在库中找不到相应的包,redhat官方的库中没有这个包,需要安装扩展库再安装dkml然后这里nvidia驱动的版本号要根据自己服务器内实际安装的版本号调整,可以去/usr/src/下看在编译的过程中报错,记录一个Bug感觉像是缺少头文件,编译器没有找到这个函数的声明根据这个链接在中加上重新编译就行了。
2023-07-20 13:05:53 87
原创 Real-World Super-Resolution via Kernel Estimation and Noise Injection(realSR)代码怎么跑起来?
realSR代码怎么跑,论文Real-World Super-Resolution via Kernel Estimation and Noise Injection
2022-09-25 19:05:17 1506 1
原创 VOC转yolov5格式数据集python脚本,划分训练集验证集
如果数据集是voc格式的,转yolov5格式代码如下:import osimport xml.etree.ElementTree as ETclasses = ["bj_bpmh", "bj_bpps", "bj_wkps", "jyz_pl", "sly_dmyw", "hxq_gjtps", "xmbhyc", "yw_gkxfw", "yw_nc", "gbps", "wcaqm", "wcgz", "xy", "bjdsyc", "ywzt_yfyc", "hxq_gj
2022-04-10 16:58:35 1660
原创 sudo python 未找到命令,sudo后不切换python环境
有些文件夹需要root权限才能访问,可以通过直接修改文件夹权限的方法来让普通用户能够运行,但是这样既麻烦又不安全。想用sudo python xxx.py 来运行,发现提示找不到python指令,这是因为root没有安装python环境vim /etc/sudoers 发现Defaults env_reset 系统默认在sudo过后环境就重置了,改为Defaults !env_reset然后, 切换回普通用户如用户名为xx, 编辑用户根目录下的配置文件~/.bashrc# su usernam
2021-06-23 09:50:18 3305
原创 yolov5 自己制作数据集,训练模型 labelImg标注 自动生成标签
数据收集时要注意的问题。样本数量多,还要多样性:yolov5对数据集的要求是每个类的数据大于1.5K,目标数大于10K。For real-world use cases we recommend images from different times of day, different seasons, different weather, different lighting, different angles, different sources (scraped online, collecte
2021-06-01 12:53:04 9475 19
原创 yolov5 训练自己的数据集,怎样组织数据集结构
yolov5 训练自己的数据集,怎样组织数据集结构 yolov5官方写了一个教程来说明怎么用yolov5模型来训练自己的数据集,https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data,这里对官方文档的一些关键点进行说明。1.创建自己的data.yaml在训练时,需要在yolov5/data/文件夹中为自己的数据集创建一个data.yaml文件,指明数据集图片和标签的存放地址,以及类别的数目和名称,首先来看官方的coco128.yaml
2021-05-23 16:09:58 1307 1
原创 Linux原理和常用的命令
linux原理文件系统层次标准FHS标准linux系统根目录下各个目录用途说明:1、/ 根目录 --------- 所有目录挂在其下2、/boot --------- 存放Ubuntu内核和系统启动文件。系统启动时这些文件先被装载。3、/etc --------- 系统的配置文件目录。密码文件、设置网卡信息、环境变量的设置等都在此目录中,许多网络配置文件也在其中。4、/lib --------- 根文件系统目录下程序和核心模块的共享库。这个目录里存放着系统最基本的动态链接共享库,类似于Windo
2021-04-14 21:15:12 425
原创 windows,Linux双系统安装
linux安装电脑硬件知识硬盘知识我电脑上有2块硬盘一块机械一块固态,在Linux系统上就可以在/dev/sda 就代表第一块固态,/dev/sdb就是第二块机械,然后利用傲梅或者是disk…可以对硬盘进行分区,合并和格式化,分区在Linux中就是sda1第一个分区…每个分区有它的类型windows的引导分区都是EFI,windows的C,D,E,F盘都是UEFI格式,WRE也是windows的盘。linux盘的类型:文件系统是:ext4,引导也是EFI,主分区就是/,详情见linux安装引导知
2021-04-14 21:14:22 329
原创 翁恺 程序设计进阶C语言笔记-宏与大文件结构
编译预处理与宏#开头的是编译预处理指令,他会在正式编译以前,将所有定义的预处理的名称换成值,名称只能是单词,值可以是各种东西本质上就是替换,就是给一个常量,语句取个名字,编译器就会把有这个名字的地方原封不动的替换为宏的值它们不是C语言的成分,所以不加分号#define来定义一个宏//用宏定义一个常量#difine PI 3.1415926 //等效于const double PI = 3.1415926;//定义一个语句 注释#define PI2 2*PI //注
2021-02-01 14:05:53 152
原创 翁恺 程序设计进阶C语言笔记-全局变量、本地变量、静态本地变量
全局变量、本地变量、静态本地变量全局变量的初始化发生在main函数之前,没有初始化的全局变量会得到0值,指针会得到NULL。局部变量没有初始化,会出现一个乱七八糟的值。内存中有什么就得到了什么结果。全局变量初始化时只能被赋值为一个编译器已知的值,一般是一个常数如果指针p,和a都是在main函数中定义的,在test函数中不能直接调用,main也是个函数只不过是第一个执行的函数,mian里面定义的变量也是局部变量有选择的情况下不用全局变量,全局指针,特别是在一个大型的程序里,因为全局的东
2021-02-01 14:05:06 249
原创 翁恺 程序设计进阶C语言笔记-链表(Linked List)
链表(Linked List)可变数组普通定义数组的大小在刚开始就固定了,后面就不能更改了,为了克服,定义一个可变数组链表可变数组有他的局限性,如下图所示,想要增加一个数组时,就会free掉这个空间并且在后面重新开辟一个更大的空间来存放数据,所以前面的空间就会被浪费掉了,虽然还要很多剩余空间但是你用不了。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7mOaGaoK-1612159396700)(https://i.loli.net/2021/01/28/x
2021-02-01 14:03:34 950
原创 翁恺 程序设计进阶C语言笔记-结构类型
结构类型枚举枚举是用户定义的数据类型,用来表示依此排列的常量(常量类型只能是 int,常量大小是从0到n)枚举类型里的名字通常不是真的使用,要使用的是大括号里的常量名字。定义枚举的意义就是给这些常量定义一些名字enum colors {red,yellow,green}; //red=0...void f(enum color c);int main(){ enum color t =red; //enum color作为一个整体,是一种数据类型,相当于int t =red,告
2021-02-01 14:02:41 333
原创 翁恺 程序设计入门C语言笔记-字符串
字符串以整数 0 结尾的一串字符,0或者’\0’表示字符串的结束,不是’0’,这个是一个ASCII码的形式。但它不是字符串的一部分,计算字符串长度的时候也不包括0string.h 定义了许多字符串处理的函数字符串以数组的形式存在,以数组或者是指针的形式访问,可以用遍历的方式访问字符串char word[] = {'H','e'}; //不是字符串char word[] = {'h','\0'}; //字符串char word[] = {'h',0}; //等价于上字
2021-01-16 11:01:54 260
原创 翁恺 程序设计入门C语言笔记-数组与指针
数组const int number = 10;int x,i;int count[number]; //给数组的下标确定一个常值的变量,方便修改和让人清晰的看懂程序,如果都写10就较难看懂每个10之间到底是不是表达的同一个意思。//初始化数组for (i=0;i<number;i++){ count[i]=0}scanf("%d",&x);while( x! = -1){ if (x>=0 && x<=9){
2021-01-16 11:00:36 167
原创 翁恺 程序设计入门C语言笔记-函数
函数一个函数需要在最前面声明,声明需要包括 函数返回值的类型,函数的名称,函数的参数个数与类型(参数的名称可以省略,名称也可以和实际函数调用的名称不一致)void sum(int , int ); //声明在函数调用的过程中如果类型不匹配,c语言编译器会自动进行类型转换,有些编译器会有个warning提示有的不会。float b=23.6;number(b);void number(int i){ printf("number is %d\n",i);}这里将直接输出
2021-01-16 10:59:36 226
原创 翁恺 程序设计入门C语言笔记-数据类型
参考翁恺 程序设计入门-C语言开发环境需要一个IDE,这里笔者选择Visual Studio Code,windows需要安装gcc(编译器),然后配置环境参考https://zhuanlan.zhihu.com/p/335707213数据类型偏底层的语言是强数据类型的,就是严格区分数据类型并且会对其进行检查,比如C,C++,JAVA.上层语言不关注数据类型,他只要知道这是一个数,并不用关心数的范围大小和类型,如python.整数 char,short,int,long,longlon
2021-01-16 10:57:19 277
原创 tensorflow和pytorch的安装步骤
anaconda的基本命令查看Python环境conda info --env可以看到所有python环境,前面有个‘*’的代表当前环境: 也用于查看环境的路径,通过这个路径可以在pycharm中添加该环境创建Python环境conda create --name python36 python=3.6 代表创建一个python3.5的环境,我们把它命名为python35激活conda activate python36退回到baseconda deactivate安装命令cond
2020-06-11 20:08:56 487
原创 Altium designer-PCB设计基础笔记
来源 B站,凡亿PCB基础设计-智能车四层板视频link绘制原理图将原理图分块绘制区分数字地和模拟地画完以后进行检查:project>project report 可以设定报错的规则,然后compile project 就可以在message窗口里看到错误信息了快捷键/AD操作技巧按住shift拖动元件可以快速复制复制后,edit里面有个阵列式粘贴,可以批量粘贴按住shift+s 是单图层显示,按L可以关闭打开任意图层。edit>slice tracks(e>k
2020-06-03 20:49:41 2641
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人