我正在尝试使用当前分支名称的一部分作为在 CI 管道中发布 docker 映像的标签。问题是,在我的组织中,有一个命名分支的约定,例如feature/foo
, ,并且 docker 标签不能包含斜杠。所以我想用“/”符号分割字符串并取最后一部分。
带斜杠的完整分支名称应位于变量中github.ref_name
。这是我试图评估的表达式:${{ github.ref_name.split('/')[-1] }}
。
我收到此错误:Unable to interpolate expression 'format('{0}', github.ref_name.split('/')[-1])': Failed to parse: unexpected token "(" while parsing arguments of function call. expecting ",", ")"
在 github actions 表达式中操作字符串的选项有哪些?我在文档中没有找到它https://docs.github.com/en/actions/learn-github-actions/expressions
我将代码分成多个包,这些包可以通过 PyPI 安装。然后这些包在子包中使用,我希望在其中充分使用“库”包中的类型信息。为了进行完整的类型检查,我想在本地和 CI 中使用 Pyright / pylance。
记录 python 库类型的推荐方法是什么?我目前正在源代码中部分注释类型。我必须提供存根吗?当在其他项目中使用我的库时,我会收到像Stub file not found
vscode 中一样的警告。
具体问题:
我有一个掩码active
,可以跟踪在循环过程中仍未终止的批次。它的维度是[batch_full,]
,它的真实条目显示当前步骤中仍需要使用哪些元素。循环过程生成另一个掩码 ,terminated
它具有与掩码中的真实值一样多的元素active
。现在,我想从 中取出值~terminated
并将它们放回 中active
,但要使用正确的索引。基本上我想做:
import torch
active = torch.ones([4,], dtype=torch.bool)
active[:2] = torch.tensor(False)
terminated = torch.tensor([True, False])
active[active] = ~terminated
print(active) # expected [F, F, F, T]
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
RuntimeError:不支持的操作:输入张量和写入张量的某些元素引用单个内存位置。请在执行操作之前克隆()张量。
如何才能有效地进行上述操作呢?