即使查看了文档和相关问题,我也不明白对张量做什么squeeze
和unsqueeze
做什么。
我试图通过自己在 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) 所以我收到错误
[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
函数中没有参数时不会发生错误。但是一旦我需要将参数传递给函数,我就会收到错误消息。有人可以解释为什么会这样以及如何解决吗?
我很难理解为什么我的单节点设置的 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,它本质上是 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)