双卡 3090 环境配置
双卡 3090 环境配置
记录
装完双卡后找不到。后来发现是内核问题,有人做实验换了一个有问题的内核。最后其实是给服务器升级了一下 Nvidia 驱动。
过程不详述,摘要如下。
检查 lspci | grep VGA 有设备,但 nvidia-smi 报错
准备环节。apt update && apt upgrade
执行 2. 报错,换源 + 更新 GPG Key
卸载旧驱动 v535.183
查找可用驱动
这里 apt install nvidia-driver-535 安装不了,应还是源的问题。把 535 去掉,默认安装最新 v535.216
重新测试 nvidia-smi 报错。排查,内核和显卡驱动版本不一致,仍为 v535.183
重新编译
执行 8. 报错,根据日志,切换为 GCC 12
编译后 reboot 再检查 nvidia-smi 成功点亮。
检查输出
References
NVIDIA 驱动失效简单解决方案 NVIDIA-SMI has failed because it couldn‘t communicate with t ...
论文阅读 - 压缩感知
Compressive Sensing
Papers | 优化
论文
简介
ISTA-Net
参考 [1] [2] [3] [4]。DNN 用于稀疏基 (变换) 矩阵之开山作,必读。
AMP-Net
当采样矩阵 A\textbf{A}A 服从高斯分布,迭代优化过程可以看作是一种去噪 (denoising) 过程。
CSNet
正则项使用带残差块的网络建模。
OCTUF
有一个惯性项,可以加速收敛。
Papers | Diffusion
Diffusion 逐时间步去噪的过程与 DUNs 将迭代阶段 (phase) 映射到网络块的过程是类似的,近年的工作尝试将其用于压缩感知重建。
论文
简介
IDM
见 Reduction/IDM/
DMP-DUN
参考 [5]。
阅读笔记
合集 - Compressive Sensing
关于论文《ISTA-Net》的研究心得-CSDN博客 ↩︎
【论文阅读笔记 2】ISTA-Net: Interpretable Optimization-Inspired Deep Network ...
论文阅读 - 图像修复与复原
Image Inpainting & Restoration
综述
论文 | 经典 | 最新
图像修复(Inpainting)技术的前沿模型与数据集资源汇总_image inpainting-CSDN博客
Papers | Inpainting
论文
简介
Context Encoder
开山作
GSDM
Diffusion-based / 针对 STR + HTR
MxT
Mamba + Transformer
Papers | Restoration
论文
简介
Instruct-IR
引导的图像复原
LIR
网络结构优化
阅读笔记
合集 - II & IR
Diffusion 入门
DDPM 过程梳理与公式推导
ThinkPad T490 清灰换硅脂
ThinkPad T490 清灰换硅脂
25.04.15
前言
买了新笔记本之后,这台从 19 年开始陪伴我的 ThinkPad 便成了牛夫人。当年的工程师神机,如今只是沙盒 + 下载器。而购置六年,从未清灰,终于在最近开始频繁开机蓝屏重启。探出风口,烫手且无风,清灰已是迫在眉睫。
工具
下次记得买压缩气瓶。
硅脂 | 霍尼韦尔 7950,后来看大家推荐利民 TF7 更多一些
螺丝刀,刮片
气吹,毛刷,清洁布
记录
参考 [1] [2] 进行操作。拆 D 壳 → 拔电源插线 → 放静电。T490 的风扇、热管和导热板是一体的,拔完风扇插线,按标号顺序倒序拆卸螺丝即可取下。
清灰。很多灰是油性的,顽固粘在鳍片上。没有买气瓶是败笔,只能刷子刷起浮灰再用气吹吹走,如此反复。或用纸和清洁布,总之处理许久,肉眼可见的灰是清完了。
涂硅脂。
插回电池后开机测试,风扇运行正常。装机前记得清理 D 壳进出风口,这个就没怎么娇贵了,硬毛刷也可以。重新开机运行,从出风口久违地感受到气流。
总结
至此,清理完成。逐渐熟悉拆装机,预感下次效率会大大提升。旧电脑放着吃灰怪可惜的,目前能想到的用 ...
CV 基础(一)
基本概念
Classification & Regression
In classification, the goal is to assign input data to specific, predefined categories. The output in classification is typically a label or a class from a set of predefined options.
In regression, the goal is to establish a relationship between input variables and the output. The output in regression is a real-valued number that can vary within a range.
In both supervised learning approaches the goal is to find patterns or relationships in the input data s ...
CV 基础(二)
损失函数
BCE Loss
二值交叉熵(Binary Cross Entropy, 简称 BCE)损失函数是二值图像分割中的常用损失函数之一。它用于衡量模型预测的二值输出与实际标签之间的差异。下面是对 BCE 损失函数的详细解释。
Lbce=−1N∑i=1N(yi⋅log(y^i)+(1−yi)⋅log(1−y^i))\mathcal{L}_{bce} = - \frac{1}{N} \sum_{i=1}^{N} (y_i \cdot \log(\hat{y}_i) + (1 - y_i) \cdot \log(1 - \hat{y}_i))
Lbce=−N1i=1∑N(yi⋅log(y^i)+(1−yi)⋅log(1−y^i))
基于交叉熵的概念,交叉熵是一种衡量两个概率分布之间差异的指标。在二值图像分割中,真实标签 yiy_iyi 和预测概率 y^i\hat{y}_iy^i 可以被看作两个二元分布。其中
yiy_iyi 是第 iii 个像素的真实标签(0 或 1)。
y^i\hat{y}_iy^i 是模型预测的第 iii 个像素属于前景的概率 ...
内存体系结构(一)
Memory Organization
Linux Swap Memory
Swap memory, also known as swap space, is a section of a computer’s hard disk or SSD that the operating system (OS) uses to store inactive data from Random Access Memory (RAM). This allows the OS to run even when RAM is full, preventing system slowdowns or crashes.
以下引用来自于 All About Linux Swap Space:
Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放这份内存页面。物理内存和交换空间的总大小是可用的虚拟内存的总量。
swap 支持由 Linux 内核和来自 util-linux 包 软件包的用户空间实用程序提供。
What is ...
读书笔记 - 超标量处理器设计(一)
CHAPTER 3
Related Notes
No.240818
Overview
We introduce Virtual Memory for the following focuses:
Capacity of Physical Memory Devices are not decoupled from address space determined by ISAs.
Memory-access with physical address (PA) only is not a easy task for programmers and compilers.
Poor scalability, not conducive to scheduling.
With virtual memory, programs always think that they have exclusive access to the address space and therefore do not need to consider address restrictions.
Pro ...
读书笔记 - PPM(一)
CHAPTER 3
Memory Mapping
Listing 3-1. mmap_example.c
Memory-mapped file on Linux.
…
We first open() the file to get file descriptor. Then, we retrive the file statistics to use the length:
12if (fstat(fd /* file descriptor */, &stbuf) < 0) err(1, "stat %s", argv[1]);
Map the file into the application’s address space to allow our program to access the contents as if in memory. In the second parameter, we pass the length of the file, requesting Linux to initialize memory wi ...