Redis是一个基于内存的key-value结构数据库,是互联网技术领域使用最为广泛的存储中间件
Linux 安装 Redis
以 Ubuntu/Debian 为例,更多系统可以查看 Redis 官方文档
123456sudo apt-get install lsb-release curl gpgcurl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpgsudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpgecho "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.listsudo apt-get ...
深度学习
未读
论文:https://arxiv.org/pdf/2405.06228
代码:https://github.com/nizhenliang/CGRSeg/blob/main/models/decode_heads/rcm.py
Rectangular Self-Calibration Module (RCM) 可以捕捉轴向全局上下文,旨在使模型聚焦前景。
其由矩形自校准注意力 和 MLP 组成,主要结构如下:
矩形自校准注意力
矩形自校准注意力可表述如下:
其中 代表卷积操作, 是卷积核的大小, 表示批量归一化和 ReLU 激活函数, 表示 Sigmoid 函数
然后将注意力特征与输入特征进行融合,通过一个卷积层提取输入特征的局部细节,然后与得到的注意力权重相乘
完整代码实现如下:
12345678910111213141516171819202122232425262728293031class RCA(nn.Module): def __init__(self, inp, kernel_size=1, ratio=1, band_kernel_size=11, ...
论文: https://arxiv.org/abs/2109.00699v1
代码: https://github.com/IVIPLab/FBSNet
FBSNet 的网络结构可分为三部分:
initial block
dual-branch backbone
feature aggregation module
Initial Block
Initial Block 包括三个 的卷积层,并在每一个卷积层之后添加了 Batch Normalization 和 PReLU 激活函数,在三层卷积层结束之后,又进行了一次 BN 和 PReLU
12345678910111213141516171819202122232425262728293031323334353637383940414243class Conv(nn.Module): def __init__(self, nIn, nOut, kSize, stride, padding, dilation=(1, 1), groups=1, bn_acti=False, bias=False): su ...
在使用 SpringBoot 框架开发项目时,经常会遇到 「创建时间」「修改时间」等公共字段,这些字段每次都需要我们手动去设置,十分麻烦。
本文使用 SpringBoot 中的切面功能来实现这些公共字段的自动填充
定义注解
首先我们定义一个注解用于标记哪些方法需要实现自动填充
123456789101112/** * 标识需要自动填充公共字段的方法 */@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface AutoFill { /** * 数据库操作类型 * @return */ OperationType value();}
@Target(ElementType.METHOD) 标记该注解用于方法上面
@Retention(RetentionPolicy.RUNTIME) 指定注解在运行阶段可用
OperationType value(); 函数指定注解需要指定一个参数 value,值为 OperationType 类型,Operation ...
深度学习
未读LVIS 数据集存在一个不足之处:该数据集呈现出长尾分布特性,导致普遍物种类别缺失,这可能会对训练出的模型精度与泛化能力造成影响.
针对这一问题,Reviving Iterative Training with Mask Guidance for Interactive Segmentation 对 LVIS 标签进行补充,加入 COCO 数据集中的掩码信息.最终得到了包含 104k 张图片 和 1.6M instance-level masks 的 COCO+LVIS 数据集.
数据集链接:SamsungLabs/ritm_interactive_segmentation: Reviving Iterative Training with Mask Guidance for Interactive Segmentation (github.com)
数据集组合
首先将下载的 cocolvis_annotation.tar.gz 解压会得到两个文件夹 train 和 val
将从 LVIS 官网下载的 train2017.zip 和 val2017.zip 解压并重命名为 images ...
本文译自: 89 things I know about Git commits · Jamie Tanna | Software Engineer (jvt.me)
1.Git 有不同的用途——协作工具、备份工具、文档工具
2.Git 的 commit messages 堪称出色
3.我从没遇到过谁像我一样喜欢阅读 commit messages
4.通过提交记录查找变更原因比通过 issue/bug tracker 更容易
5.标注为 ‘Various fixes. DEV-123’ 的 commit, 要比只写 ‘Various fixes’ 的更好
6.如果 issue 本身没有任何有用信息,那么提交说明“Various fixes. DEV-123”是更糟糕的
7.Rebase-merging 是我的偏好. 然后是 squash-merge, 再然后是 merge
Rebase-merging 指先 rebase 再 merge, 将当前分支的所有提交 “移植” 到目标分支的最新提交, 会生成一个线性的提交历史, 例如原来的分支可能是这样的
123main: A---B ...
blog
未读本文介绍一种基本通用的方法,为博客添加一个酷炫的 AI 摘要功能.
感谢 @enjoy 大佬开源的后端代码和 @qxchuckle 大佬开源的前端代码,本文在两位大佬的代码基础上修改完成.
AI 摘要后端搭建
使用 Cloudflare Workers 搭建 AI 摘要的后端,进入 cloudflare 的 Workers 和 Pages,创建 worker,输入下面的代码,然后保存并部署
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112function addHeaders(response) { response.headers.set('Access-Control-Allow ...
目前仍可用的镜像(随时可能失效)
12345678910111213sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": [ "https://docker.m.daocloud.io", "https://huecker.io", "https://dockerhub.timeweb.cloud", "https://noohub.ru" ]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
使用 Nginx
需要有一台国外服务器, 按下面添加 Nginx 配置即可:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152server { listen 44 ...
最近忙着写论文,苦于图表一旦有所增加或删除就要全部重新编号,就研究了下 Word 怎么对图表进行自动编号。
设置章节编号
一般来说,图表编号是以章节为分割,例如「图 1-1」代表第二章第一张图,所以为了设置每一章节的编号与章节相关联,我们先要设置章节编号。
选中我们的章节标题,将鼠标移动到 样式>标题1,在下拉菜单中选择「更新 标题 1 以匹配所选内容」,将其设置为标题1
然后点击列表,在下拉菜单中点击「定义新的多级列表」
在弹出的窗口中点击「更多」
然后设置「将级别链接到样式」为标题1,并设置好我们需要的编号样式
设置图表编号
插入一张图片,选中图片,在引用里面选择「插入题注」
标签设置为「图表」,位置选择「所选项目下方」,点击编号,勾选「包含章节号」,章节起始样式选择「标题 1 」,分隔符根据自己需要设置。
点击确认之后,可以发现在我们的图片下方已经插入了一条编号,我们还可以修改图片标注和格式。
但是如果我们设置的章节编号样式是汉字「一、二、三……」,就会出现编号是「一.1」,而不是我们想要的「1.1」。
将「一.1」转换为「1.1」
本质上,插入题注插入的其实 ...
Nextra 是 Next.js 上的一个框架,可构建以内容为重点的网站。它拥有 Next.js 的所有强大功能,还能轻松创建基于 Markdown 的内容。Nextra Docs Theme 是一款包含几乎所有现代文档网站所需内容的主题,包括顶部导航栏、搜索栏、页面侧边栏、TOC 侧边栏和其他内置组件等,使用 Nextra + vercel 可以轻松搭建起一个文档站。
部署
fork Nextra 的仓库 shuding/nextra-docs-template: Nextra docs template (github.com)
fork 完成后,打开 vercel,切换到 Overview 页面,点击 Add New...,选择 Project。
在 Import Git Repository 中选择我们刚刚 fork 的仓库,点击 Import
接下来点击 Deploy 按钮等待部署完成即可。
部署完成后点击 Continue to Dashboard,可以看到 vercel 为我们提供的域名。
打开这个域名,即可访问我们搭建的文档站点了。
由于 vercel 检测 ...