-
使用注册机制动态引入模块
使用注册机制动态引入模块原因:希望在配置文件中写入需要用的模型(或者loss等),动态实例化,不需要更改main文件我们假设需要动态实例化的是一个类我们有如下的文件树|- test_modules |- __init__.py |- a.py |- b.py |- register_modules.py|- main.py在main文件中,动态初始化不同的模型(这里指a.py和b.py中的类)现在我们需要动态地实例化其中的一个类registery 注册我们在register_modules...…
-
VSCode Python import 自己写的模块报错ModuleNotFoundError
参考链接在settings.json文件中加入红色框中的配置文件 "terminal.integrated.env.osx": { "PYTHONPATH": "${workspaceFolder}/", }, "terminal.integrated.env.linux": { "PYTHONPATH": "${workspaceFolder}/", }, "terminal.integrated.env.windows": { ...…
-
去除matplotlib画图旁边的留白
需要加上plt.tight_layout(pad=0)下面给出样例# x: np.array, shape [H, W, C]fig, ax = plt.subplots(figsize=(x.shape[1]/100, y.shape[0]/100), dpi=500)ax.imshow(x)ax.set_axis_off() # for image data, if you do not need axisplt.tight_layout(pad=0) # remove paddi...…
-
Memory-based Cross-Image Contexts for Weakly Supervised Semantic Segmentation
本文主要的贡献在于利用上了不同图片之间的信息进行semi-supervised segmentation(image-level label),并没有着重强调如何生成伪标签。Classification Module首先将backbone的encoder的输出$f=B(I;\theta_b)\in \R^{d\times HW}$放入图中的Classification Module中,生成dense heatmap $h\in \R^{L\times HW}$,$L$是类别数。训练作者这里...…
-
分组卷积详解
在看ACMix这篇文章的时候涉及到了分组卷积,由于网上的图只给了简单的情况,没有给出更复杂的情况,这里特地记录一下有分组卷积,配置如下import torchimport torch.nn as nndim = 128nhead = 8groups = dim // nheadgroup_conv = nn.Conv2d(9*dim//nhead, dim, 3, padding=1, groups=groups, bias=False) # 不失一般性,这里不设置biasx=torch...…
-
一点可视化
将图片变成patch使用einops能够很简单地实现图片变成patch的功能。这里为了简单地可视化,将每个patch pad一定的值以示区分。import einopsimport numpy as npimport mmcvimport cv2from PIL import Imageimg = mmcv.imread(r'C:\Users\czh\Desktop\test.png', channel_order='rgb')h, w, c = img.shapep = 64 # pat...…
-
Linux常用的命令
Linux常用的命令查看显卡占用watch -n 1 -d nvidia-smi每1秒刷新一次。查看对应任务名的pidps -aux|grep [task_name]PyTorch分布式训练CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --nnode=1 --master_port=23456 main_dino.py --out_dim=1024 --epochs=300 [--other_args=other_values]那...…
-
vicreg-variance-invariance-covariance regularization for self-supervised learning
这篇文章主要是在loss上进行改进,不使用infoNCE进行对比学习。假设有两个batch,一个是weak aug经过网络得到的feature $Z=[z_1,z_2,\dots,z_n]$,一个是经过strong aug之后经过网络得到的feature $Z^\prime=[z_1^\prime, z_2^\prime, \dots, z_n^\prime]$。variance regularization\[v(Z)=\frac 1d\sum_{j=1}^d \max(0,\gamma...…
-
一些数据分布式计算需要知道的
参考链接:pytorch(分布式)数据并行个人实践总结——DataParallel/DistributedDataParallel - fnangle - 博客园 (cnblogs.com)其他教程参考代码:import torchimport torch.nn as nnimport torch.nn.functional as Fimport torchvisionimport torch.utils.data as Dimport torch.distributed as disti...…
-
一些你需要知道混合精度的事(amp)
参考链接:知乎 OpenMMLabtorch.cuda.amp精度转换的过程 维护一个 FP32 数值精度模型的副本 在每个iteration 拷贝并且转换成 FP16 模型 前向传播(FP16 的模型参数) loss 乘 scale factor $s$ 反向传播(FP16 的模型参数和参数梯度) 参数梯度乘 $1/s$ 利用 FP16 的梯度更新 FP32 的模型参数 基本操作单卡训练的时候,在main ...…
-
OpenCV minGW编译
链接:Clion+Opencv3.2终极配置教程 - 简书 (jianshu.com)CMAKE代码# OpenCVset(OpenCV_DIR "your\\opencv\\path") # set(OpenCV_DIR "D:\\software\\opencv\\opencv\\mingw-build")find_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS})add_executable(TwoS...…
-
希尔排序
希尔排序希尔排序希尔排序是插排的一种,是插排的改进。时间复杂度是$\mathcal O(n$^$1.3-2)$C++代码#include<vector>#include<algorithm>#include<iostream>using namespace std;/* * 希尔排序的C++实现 * https://www.runoob.com/data-structures/shell-sort.html */template<typename ...…
-
XMP-Font:无监督跨域的few-shot字体生成
介绍视频:CVPR2022 XMP-Font 哔哩哔哩_bilibilipaper:https://arxiv.org/abs/2204.05084 学那么多理论,还是需要看下在工业界是咋用的,以及对应的task有什么trick。 总的来说,这篇文章写作一般,没有很清楚地交代背景,如果不是中国人很难读懂为什么这样设计,并且在method部分的有些描述与给出图不符合。另外要吐槽的是,短短10页,pdf文件500多M,不知道里面放了啥。 这一篇中了CVPR2022。还有一篇做同样任务的投...…
-
MCMC
推断问题分为精确推断和近似推断,而近似推断又分为确定性(VI)和随机(MCMC)两者。本文介绍是MCMC(markov chain & monte carlo),基于采样的随机近似方法。问题引入假设我们有以下后验,$p(z\mid x)$,$x$表示可观测数据,$z$表示隐变量。假设我们需要计算在该后验概率下的$f(x)$的期望$\mathbb E_{z\mid x} [f(z)]=\int p(z\mid x) f(z) dz$,我们可以将其近似为求和的形式$\mathbb E_...…
-
往期论文、算法回顾
由于才将博客建立起来,原有的写在语雀上的文章不方便直接搬到这里。需要查看的伙伴可以直接点击下面的链接,跳转到语雀进行阅读即可。Paper ReadingRotary Positional Embeddingdiffusion model系列论文解读目标检测之DETR系列改进论文解读OCGNN论文阅读Unleashing the Power of Contrastive Self-Supervised Visual Models via Contrast-Regularized Fine-T...…
-
just say Hi
Hi,你好。我是一名电子科技大学的研究生。在这里,希望与你交流DL、ML的知识Hello, i’m zihan. I’m a junior student in UESTC. This is a blog about machine learning and deep learning。majorDeep learning, machine learningImage fusion, inverse problem, dynamic system, SDE, ODE.Publication...…