python - 在保持梯度值的同时重复张量元素
问题描述
所以我有一个向量,我以某种方式计算了大小k
x = torch.FloatTensor([0.5, 0.3, 0.1, 0.7])
x = x + 2
我想获取它的第一个元素x[0]
并创建一个大小k-1
为 x[0] 的向量,以便与该元素一起出现的渐变出现在新向量中。
我尝试使用torch.full
并填充它,x[0]
但这并不能保留渐变。
使用 pytorch 1.4
解决方案
您也可以.repeat
这样使用(IMO 更简洁,更详细):
# type deduction is automatic
x = torch.tensor([0.5, 0.3, 0.1, 0.7])
x = x + 2
y = x[0].repeat(50)
梯度将被保留(梯度历史将被复制)。
推荐阅读
- java - 升级Gradle后出现这样的错误如何解决
- angular - 每当记录数稍微多一点时,网格就会花费更多时间来呈现
- xml - serde 可以用平面键值对反序列化 XML 吗?
- python - 如何使这个 Tkinter 和 OpenCV 程序更具可扩展性?
- excel - 仅隐藏与显示的用户表单相关的工作表
- rest - 从python FLASK中的Get请求中提取数据
- python - 无法使用年、月、日、小时和分钟列创建 DateTime 列
- newline - 电源自动化流程 - html 到文本 - 奇怪的新行
- apache-kafka - Kafka Producer 中的消息重试机制
- function - 将日期时间作为函数参数传递