- 博客(20)
- 收藏
- 关注
原创 WSL2 多 GPU CUDA 初始化问题排查与解决指南
单 GPU CUDA = 稳定、推荐多 GPU 初始化失败 = 架构与内存边界问题单卡多进程,而非多卡 DDP。
2025-12-17 15:36:26
789
原创 Word修改参考文献在word中的格式,Zetero
2. 会弹出一个小方框,找到书目,因为Zetero更新参考文献时,默认调用“书目”样式。5. 点击 Refersh 后格式也不会改变了。1. 点击样式右下角的小箭头。3. 右键,选择修改。
2025-12-10 18:23:30
176
原创 C++内联函数详解
内联函数是一种编译器优化技术,通过在编译时将函数调用处直接替换为函数体代码,从而消除函数调用的开销。// 显式使用inline关键字a : b;// 编译时可能被替换为:int result = (x > y)?x : y;cout << "最大值: " << result << endl;return 0;private:public:// 类内直接定义的函数默认为内联函数value = v;// 显式声明为内联private:int data;
2025-11-29 17:45:48
215
原创 C++中虚析构函数的使用场景
情况是否需要虚析构函数原因会被继承,且通过基类指针删除必须避免内存泄漏会被继承,但不通过基类指针删除可选为了代码安全性建议加上不会被继承(final类)不要避免虚函数表开销接口类/抽象基类必须多态删除的基本要求如果类设计为基类,给一个如果类不设计为基类,使用final关键字,给普通析构函数优先使用智能指针管理资源。
2025-11-27 15:41:44
457
原创 C++ 宏和const
特性宏 (#define)const处理阶段预处理编译类型安全无有作用域全局遵循作用域调试支持无有内存分配不分配可能分配推荐程度尽量避免推荐使用在现代C++开发中,应该优先使用constconstexprenum class等类型安全的替代方案,只有在必须使用宏的场合(如头文件保护、条件编译)才使用宏。
2025-11-27 15:23:50
409
原创 如何在windows上配置OpenCV,C++,VSCode
然后将opencv_build(新创建的)\install\x64\mingw\bin加入环境变量(很重要)解压得到了opencv,需另外新建一个文件夹 opencv_build。4. 安装cmake,并将cmake的bin目录也放在系统环境变量中。3. 安装OpenCV,可以安装最新版本,可以成功。解压后将bin目录加到系统环境变量中。1. 安装vscode,无需多言了。2. 安装MingW64。5. vscode内配置。点击configure。
2025-11-25 20:26:08
524
原创 基于PyTorch Lightning的高效图像修复训练框架
本项目基于PyTorch Lightning构建,旨在为图像修复任务(如去噪、补全、超分辨率)提供高效、可扩展的训练框架。通过模块化设计,开发者可快速实现从数据加载到分布式训练的全流程,同时支持自定义模型(如GAN、VAE、扩散模型)的灵活接入。
2025-04-16 21:30:39
393
原创 在Linux系统内安装Anaconda,Pytorch,CUDA,cuDNN
先安装Pytorch,注意Pytorch有GPU版本和CPU版本,在windows上安装需要指定--index-url。安装CUDA需要与Torch版本适配,torch.version.cuda # 查看当前torch所对应的cuda版本。推荐使用runfile方式安装cuda,记得在.bashrc中添加环境变量。将include中文件移动到/usr/local/cuda/include。将lib文件移动到/usr/local/cuda/lib64。也可以直接安装lightning,会自动安装torch。
2025-03-20 21:13:48
224
原创 【无标题】在windows上使用VMware Workstation安装linux虚拟机
注意不要同时安装VMware Tools和 open-vm-tools,否则就会报VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本....不需要安装VMware Workstation推荐安装的VMware Tools,不需要挂载什么VMware镜像,而是进入linux系统后,打开shell输入命令。注意在虚拟机硬件-显示中,不要勾选使用3d硬件加速什么的。安装Linux版本: Ubuntu-24.04.1。
2024-12-10 21:34:01
141
原创 迭代器、可迭代对象、iter()函数、next()函数
时,会隐式调用iter()获取对象的迭代器(或者说创建迭代器),然后在每次迭代中调用next()方法来获取下一个元素。,可以理解为赋予了可迭代对象使用next()方法的能力,然后就可以手动控制迭代过程,使用next()遍历对象。比如列表、字典、字符串、元组等,只实现了__iter__()方法,没有实现__next__()方法。而如果只是需要使用next(),则只需要实现__next__方法即可。可以直接使用next()进行手动迭代。对一个可迭代对象使用。
2024-06-21 17:12:04
368
原创 C++ 动态数组 vector push_back的拷贝次数如何计算
使用 push_back 时, vector会逐渐变大, 1 --> 2 --> 4 --> 8。push_back 2 次, 复制 3 次 2 + 1。push_back 3 次, 复制 6 次 3 + 3。push_back 4 次, 复制 7 次 4 + 3。push_back 1 次, 复制 1 次 1。从main函数的堆栈里构建对象,然后拷贝到vector中。
2023-07-22 18:06:43
386
原创 ssh 远程图形化界面
ssh -X xxx@xxx.xxx.xxx.xxxsudo xauth add $(xauth list $DISPLAY)
2023-04-11 17:47:57
594
1
原创 const 修饰指针
int * const b可以修改指向什么,不可修改指向何处。const int *a 可以修改指向何处,不可修改指向什么。
2023-04-06 18:08:16
113
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅