小编Mar*_*aio的帖子

Pytorch 挤压和解压

即使查看了文档和相关问题,我也不明白对张量做什么squeezeunsqueeze做什么。

我试图通过自己在 python 中探索它来理解它。我首先创建了一个随机张量

x = torch.rand(3,2,dtype=torch.float)
>>> x
tensor([[0.3703, 0.9588],
        [0.8064, 0.9716],
        [0.9585, 0.7860]])
Run Code Online (Sandbox Code Playgroud)

但无论我如何挤压它,我最终都会得到相同的结果:

torch.equal(x.squeeze(0), x.squeeze(1))
>>> True
Run Code Online (Sandbox Code Playgroud)

如果我现在尝试解压,我会得到以下信息,

>>> x.unsqueeze(1)
tensor([[[0.3703, 0.9588]],
        [[0.8064, 0.9716]],
        [[0.9585, 0.7860]]])
>>> x.unsqueeze(0)
tensor([[[0.3703, 0.9588],
         [0.8064, 0.9716],
         [0.9585, 0.7860]]])
>>> x.unsqueeze(-1)
tensor([[[0.3703],
         [0.9588]],
        [[0.8064],
         [0.9716]],
        [[0.9585],
         [0.7860]]])
Run Code Online (Sandbox Code Playgroud)

但是,如果我现在创建一个 tensor x = torch.tensor([1,2,3,4]),并且我尝试将其解压缩,那么它看起来1-1使其成为0保持不变的列。

x.unsqueeze(0)
tensor([[1, 2, 3, 4]])
>>> x.unsqueeze(1)
tensor([[1],
        [2],
        [3],
        [4]])
>>> x.unsqueeze(-1)
tensor([[1],
        [2],
        [3],
        [4]]) …
Run Code Online (Sandbox Code Playgroud)

python pytorch

8
推荐指数
2
解决办法
5080
查看次数

RecursionError:使用线程时超出了最大递归深度

所以我收到错误

[Previous line repeated 996 more times]
RecursionError: maximum recursion depth exceeded
Run Code Online (Sandbox Code Playgroud)

我正在运行的代码是

import threading

def hello_world(a):
    threading.Timer(2.0, hello_world(a)).start() # called every minute
    print(a)
    print("Hello, World!")

hello_world('a')
Run Code Online (Sandbox Code Playgroud)

我注意到当hello_world函数中没有参数时不会发生错误。但是一旦我需要将参数传递给函数,我就会收到错误消息。有人可以解释为什么会这样以及如何解决吗?

python python-multithreading

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

了解 CockroachDB 副本

我很难理解为什么我的单节点设置的 CockroachDB 管理控制台有 37 个副本。根据我读过的内容

CockroachDB replicates each range (3 times by default) and stores each replica on a different node.
Run Code Online (Sandbox Code Playgroud)

这直接来自文档https://www.cockroachlabs.com/docs/v20.2/architecture/overview#glossary

运行\l我看到的命令

  database_name
-----------------
  defaultdb
  postgres
  system
  test2
(4 rows)
Run Code Online (Sandbox Code Playgroud)

运行SHOW ALL ZONE CONFIGURATIONS;我得到的命令

target                      |                               raw_config_sql
---------------------------------------------------+------------------------------------------------------------------------------
  RANGE default                                    | ALTER RANGE default CONFIGURE ZONE USING
                                                   |     range_min_bytes = 134217728,
                                                   |     range_max_bytes = 536870912,
                                                   |     gc.ttlseconds = 90000,
                                                   |     num_replicas = 3,
                                                   |     constraints = '[]',
                                                   |     lease_preferences = '[]'
  DATABASE system                                  | …
Run Code Online (Sandbox Code Playgroud)

cockroachdb

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

错误:关系“表”不存在,即使数据库和表都存在

我正在使用 cockroachdb,它本质上是 postgres 的超集,我不明白为什么这样说:

select * from _a66df261120b6c23.tabDefaultValue;
Run Code Online (Sandbox Code Playgroud)

结果犯错误:

ERROR: relation "_a66df261120b6c23.tabdefaultvalue" does not exist
Run Code Online (Sandbox Code Playgroud)

show databases给我:

    database_name   | owner | primary_region | regions | survival_goal
--------------------+-------+----------------+---------+----------------
  _a66df261120b6c23 | root  | NULL           | {}      | NULL
  defaultdb         | root  | NULL           | {}      | NULL
  postgres          | root  | NULL           | {}      | NULL
  root              | root  | NULL           | {}      | NULL
  sammy             | root  | NULL           | {}      | NULL
  system            | node  | NULL           | {} …
Run Code Online (Sandbox Code Playgroud)

cockroachdb

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