【LightTrack】《LightTrack:Finding Lightweight Neural Networks for Object Tracking via xxx》

在这里插入图片描述

《LightTrack: Finding Lightweight Neural Networks for Object Tracking via One-Shot Architecture Search》

CVPR-2021



1 Background and Motivation

基于深度学习的单目标跟踪发展迅速,但 increasingly heavy and expensive,limits their deployments in resource-constrained applications

本文采用 NAS 技术,自动搜索出更适合单目标跟踪的网络结构 LightTrack,性能提升明显,同时计算量和参数量都有所减少

2 Related Work

  • Object Tracking
    more precise box estimation(anchor based or anchor free)
    more powerful backbone
    online update(ATOM / DiMP / ROAM)

  • Neural Architecture Search
    search space to be continuous, such that the search can be optimized by the efficient gradient descent

3 Advantages / Contributions

在这里插入图片描述

分为主干和头部结构

template 和 search 是孪生结构,通过相关操作特征汇聚在一起

更多细节可以参考 【SiamRPN】《High Performance Visual Tracking With Siamese Region Proposal Network》

(1)用 one-shot NAS 自动搜索出更适合单目标跟踪的网络结构,LightTrack

(2)design a lightweight search space and a dedicated search pipeline for object tracking

4 Method

4.1 Preliminaries on One-Shot NAS

《Single Path One-Shot Neural Architecture Search with Uniform Sampling》(ECCV-2020)

在这里插入图片描述
来自 Single-Path One-Shot NAS遗传算法代码解读和编程技巧

在这里插入图片描述

(a)为了减少权重之间的耦合度,在每个Choice Block选择的时候必定会选择其中的一个choice——均匀采样策略,不存在恒等映射
(b)提出了一个基于权重共享的choice block, 其核心思想是预先分配一个最大通道个数的,然后随机选择通道个数,切分出对应的权重进行训练。通过权重共享策略,发现超网可以快速收敛。
来自 【神经网络搜索】Single Path One Shot

看看公式化表达

在这里插入图片描述

N \mathcal{N} N 表示 supernet

A \mathcal{A} A architecture search space——作者引入了 mobilenetv1 的 depthwise separable convolutions(【MobileNet】《MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications》)和 mobilenetv2 的 inverted residual structure(【MobileNet V2】《MobileNetV2:Inverted Residuals and Linear Bottlenecks》

W W W 是网络的权重

subnets α ∈ A \alpha \in \mathcal{A} α

<think>好的,用户遇到了`git pull`时的报错,具体错误信息是`error: insufficient permission for adding an object to repository database .git/objects`和`fatal: failed to write object`,以及`fatal: unpack-objects failed`。我需要分析这个问题的原因和解决方法。 首先,错误信息中的“insufficient permission”提示权限不足,特别是在`.git/objects`目录下添加对象时。Git的对象存储在`.git/objects`目录中,当用户没有写入权限时,就会导致无法创建新的对象文件,从而拉取失败。 接下来,可能的原因包括: 1. `.git/objects`目录或其子目录的文件权限不正确,当前用户没有写入权限。 2. 目录的所有者或所属组不正确,当前用户无法访问。 3. 可能之前的操作以其他用户(如root)执行,导致目录权限被修改,当前用户无法写入。 解决方法需要检查权限并修复。首先,确认当前用户对`.git/objects`目录的读写权限。可以使用`ls -ld .git/objects`查看目录的权限和所有者。如果权限是只读(如`dr-xr-xr-x`),或者所有者是其他用户(如root),而当前用户不是所有者或没有写入权限,就需要调整权限。 修复方法通常包括: - 更改目录的所有者和所属组,使用`chown`命令将`.git`目录及其子目录的所有者改为当前用户。 - 调整目录的权限,确保当前用户有写入权限,比如使用`chmod -R u+rwX .git`来递归添加读写和执行权限(执行权限对目录是必要的,允许进入目录)。 - 如果之前以root用户操作过,可能需要用`sudo`来修正权限,但要注意避免权限混乱。 另外,还需要检查是否有其他进程或工具锁定了`.git`目录,导致无法写入。或者,磁盘空间不足也可能导致无法写入,但错误信息中更可能是权限问题。 总结步骤:检查权限,修正所有者和权限,确保当前用户对`.git/objects`有写入权限。 </think>该错误是由于当前用户对Git仓库的`.git/objects`目录**没有写入权限**,导致拉取代码时无法向仓库数据库中添加新对象(如提交的文件内容哈希)。以下是具体原因分析及解决方法: ### 一、核心原因:`.git/objects`目录权限不足 Git的核心机制是通过`objects`目录存储所有文件内容的哈希对象(`blob`、`tree`、`commit`等)。当执行`git pull`时,需要从远程仓库下载新对象并写入本地`.git/objects`目录。若当前用户对该目录无写入权限,会直接触发`insufficient permission`错误。 ### 二、常见触发场景 1. **目录所有者/所属组错误**: 例如,之前用`sudo`或其他用户(如`root`)执行过`git`操作,导致`.git`目录(包括`objects`)的所有者变为其他用户(如`root`),当前用户(如普通用户`user`)无写入权限。 2. **目录权限设置错误**: `.git/objects`目录的权限被错误设置为只读(如`dr-xr-xr-x`),或当前用户的用户组无写入权限(如`drwxr-xr-x`,用户组只有读和执行权)。 3. **文件系统只读挂载**: 仓库所在磁盘分区被挂载为只读模式(如`ro`),导致无法写入。 ### 三、解决方案:修复`.git`目录权限 #### 步骤1:检查当前用户对`.git/objects`的权限 ```bash # 进入仓库目录 cd 你的仓库路径 # 查看objects目录的权限和所有者 ls -ld .git/objects ``` 输出示例(权限问题可能的情况): - `drwxr-xr-x 3 root root 4096 1月 1 12:00 .git/objects`(所有者是`root`,当前用户是`user`) - `dr-xr-xr-x 3 user user 4096 1月 1 12:00 .git/objects`(目录无写入权限`w`) #### 步骤2:修正目录所有者(若所有者错误) 若`objects`目录的所有者是其他用户(如`root`),需将其所有权转移给当前用户: ```bash # 将.git目录及其子目录的所有者改为当前用户(替换your_username为实际用户名) sudo chown -R your_username:your_username .git ``` > 说明:`your_username`是当前登录用户(可通过`whoami`命令查看)。`chown -R`递归修改`.git`目录下所有文件/子目录的所有者和所属组。 #### 步骤3:修正目录权限(确保可写入) 确保当前用户对`.git/objects`目录有**读、写、执行**权限(目录的执行权`x`是进入目录的必要条件): ```bash # 递归为当前用户添加读、写、执行权限(u=user,+rwX:X仅对目录添加执行权) chmod -R u+rwX .git ``` > 说明:`u+rwX`表示为文件所有者添加读(`r`)、写(`w`)权限,对目录添加执行(`X`)权限(普通文件的`X`会被忽略)。 #### 步骤4:验证修复结果 重新执行`git pull`,若仍报错,检查以下边缘情况: - 磁盘空间不足:用`df -h`检查仓库所在分区是否有剩余空间。 - 文件系统只读:用`mount | grep 分区路径`确认挂载模式是否为`rw`(可写)。 - 其他进程锁定:检查是否有其他工具(如IDE、备份软件)正在占用`.git`目录的文件。 ### 总结 该错误的本质是权限问题,通过修正`.git/objects`目录的所有者和权限(确保当前用户可写)即可解决。若问题反复出现,需避免使用`sudo`执行`git`操作(除非必要),防止权限混乱。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值