小编zhe*_*ang的帖子

神经网络中的骨干是什么意思?

我对神经网络中“主干”的含义感到困惑,尤其是在DeepLabv3+ 论文中。我做了一些研究,发现骨干可能意味着

网络的特征提取部分

DeepLabv3+ 以Xception和 ResNet-101 作为其主干。但是,我对DeepLabv3+的整个结构并不熟悉,主干指的是哪部分,哪些部分保持不变?

主干的一般描述或定义也将受到赞赏。

neural-network deep-learning deeplab

18
推荐指数
4
解决办法
1万
查看次数

vscode:如何更改“替换”和“下一场比赛”的热键

在vscode的替换模式下:

在此输入图像描述

“转到下一场比赛”“替换”的热键都是enter

我想选择性地替换一些单词。例如,在图像的下半部分:我想重命名hidden_dim' but not hidden_​​dim_in`。

按下该键enter重复执行“转到下一场比赛”“替换”。如何为这两个功能设置不同的热键?

keyboard-shortcuts hotkeys visual-studio-code

8
推荐指数
1
解决办法
1186
查看次数

去掉vscode中文件名后的“M”标记

不知道是不是vscode的新功能。但我只想要文件名后的“1”标记和“M”标记消失: 在此输入图像描述 在此输入图像描述

有谁知道如何关闭吗?

visual-studio-code

5
推荐指数
1
解决办法
3403
查看次数

如何在 pytorch 中创建正态二维分布

给定一个包含 N 个点的张量,用 [x,y] 表示,我想在每个点周围创建一个 2D 高斯分布,将它们绘制在一个空的特征图上。

在此输入图像描述

例如,左图显示了一个给定点(在特征图上注册为像素,其值设置为 1)。右图在其周围添加了 2D 高斯分布。

我如何为每个点添加这样的分布?pytorch中有相关的API吗?

distribution pytorch

5
推荐指数
1
解决办法
5349
查看次数

python并行赋值3个变量

我的问题来自一个流行的编码测试。

给定一个定义如下的链:

class ListNode:
     def __init__(self, x):
         self.val = x
         self.next = None
Run Code Online (Sandbox Code Playgroud)

如果我们想恢复链条,例如:

输入:1->2->3->4->5->NULL

输出:5->4->3->2->1->NULL

它可以解决像这样

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        cur, pre = head, None
        while cur:
            tmp = cur.next 
            cur.next = pre 
            pre = cur      
            cur = tmp     
        return pre
Run Code Online (Sandbox Code Playgroud)

但是有一种更紧凑的方式,我无法真正遵循:

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        cur, pre = head, None
        while cur:
            cur.next, pre, cur = pre, cur, cur.next
        return pre
Run Code Online (Sandbox Code Playgroud)

因为如果我将并行分配行更改为

            pre, cur, …
Run Code Online (Sandbox Code Playgroud)

python variable-assignment python-3.x

3
推荐指数
1
解决办法
72
查看次数

函数可以在其定义内使用不同的参数调用自身吗?

此功能具有3种模式,即“ hh”,“ ih”和“ ho”。

    def mutate_add_connection(self, mode = 'hh'):
        if mode == 'hh':    # hidden --> hidden
            node_a = random.choice(self.hidden_nodes_dict.values())
            node_b = random.choice(self.hidden_nodes_dict.values())
            self.connect_node_pair(node_a,node_b, 'sort')
        elif mode == 'ih':  # input --> hidden
            node_a = random.choice(self.input_nodes_dict.values())
            node_b = random.choice(self.hidden_nodes_dict.values())
            node_b.set_links((node_a,random.choice([-1, 1])))
        elif mode == 'ho':  # hidden --> output
            node_b.set_links((node_a,random.choice([-1, 1])))
            node_a = random.choice(self.hidden_nodes_dict.values())
            node_b = random.choice(self.output_nodes_dict.values())
Run Code Online (Sandbox Code Playgroud)

在添加连接变异的实践中,我需要使用这三种模式。每种模式不要说33.33%。

因此,我计划在此功能中添加模式“自动”。为了将以上三种模式称为“随机”。

    def mutate_add_connection(self, mode = 'hh'):
        if mode == 'auto':
            chosen_mode = random.choice(['hh','ih','ho'])
            self.mutate_add_connection(mode=chosen_mode)
        # the code above .......
Run Code Online (Sandbox Code Playgroud)

但是我不确定这是否是一个好主意。您能否提出实现我的建议的更好方法?谢谢〜

python function call

2
推荐指数
1
解决办法
42
查看次数

${@:3} 在 bash 中意味着什么?

dist_train.shmmdetection3d中,最后一行做了什么?${@:3}

我无法理解它的 bash 语法。

#!/usr/bin/env bash

CONFIG=$1
GPUS=$2
NNODES=${NNODES:-1}
NODE_RANK=${NODE_RANK:-0}
PORT=${PORT:-29500}
MASTER_ADDR=${MASTER_ADDR:-"127.0.0.1"}

PYTHONPATH="$(dirname $0)/..":$PYTHONPATH \
python -m torch.distributed.launch \
    --nnodes=$NNODES \
    --node_rank=$NODE_RANK \
    --master_addr=$MASTER_ADDR \
    --nproc_per_node=$GPUS \
    --master_port=$PORT \
    $(dirname "$0")/train.py \
    $CONFIG \
    --seed 0 \
    --launcher pytorch ${@:3}
Run Code Online (Sandbox Code Playgroud)

bash

2
推荐指数
1
解决办法
947
查看次数

如何在远程服务器上的可视代码中设置默认的python解释器?

我想设置默认的 python 解释器路径,以避免每次登录远程服务器时都被询问。

vscode 中的弹出窗口

我尝试过这个类似答案中的方法。我的workspace.json 现在看起来像:

{
    "folders": [
        {
            "uri": "vscode-remote://ssh-remote+172.1.1.1/home/user/workspace/folder1"
        },
        {
            "uri": "vscode-remote://ssh-remote+172.1.1.1/home/wzy/workspace/folder2"
        }
    ],
    "remoteAuthority": "ssh-remote+172.1.1.1",
    "settings": {
        "python.defaultInterpreterPath": "/home/user/miniconda3/envs/py38/bin/python",
    }
}

Run Code Online (Sandbox Code Playgroud)

但是每次重新连接到服务器时,我都需要手动选择 python 解释器(否则/user/bin/python3将选择基本解释器)

python visual-studio-code

0
推荐指数
1
解决办法
5151
查看次数

如何简化CUDA_VISIBLE_DEVICES=0,1,6,7

每次开始训练时,我都需要手动输入类似的命令CUDA_VISIBLE_DEVICES=0,1,6,7,具体取决于我将使用多少个 GPU 以及哪些当前是空闲的。

这个答案提供了一个丑陋但实用的解决办法。即在 bashrc 中为每个组合编写一个别名:

alias gpu4='CUDA_VISIBLE_DEVICES=4'
alias gpu25='CUDA_VISIBLE_DEVICES=2,5'
alias gpu256='CUDA_VISIBLE_DEVICES=2,5,6'
alias gpu0467='CUDA_VISIBLE_DEVICES=0,4,6,7'
Run Code Online (Sandbox Code Playgroud)

例如,这可以节省输入“CUDA_VISIBLE_DEVICES”的大量时间。

如何进一步简化使用CUDA_VISIBLE_DEVICES

或者,有人可以分享一种更优雅的方法来替换alias上面的 -list 吗?

bash alias multi-gpu

-2
推荐指数
1
解决办法
3852
查看次数