網站首頁 編程語言 正文
torch.arange函數詳解
官方文檔:torch.arange
函數原型
arange(start=0, end, step=1, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) -> Tensor
用法
返回大小為的一維張量,其值介于區間
為步長等間隔取值
參數說明
參數 | 類型 | 說明 |
---|---|---|
start | Number |
起始值,默認值:0
|
end | Number |
結束值 |
step | Number |
步長,默認值:1
|
關鍵字參數
關鍵字參數 | 類型 | 說明 |
---|---|---|
out | Tensor |
輸出張量 |
dtype | torch.dtype |
期望的返回張量的數據類型。默認值:如果是None ,則使用全局默認值。如果未給出 dtype,則從其他輸入參數推斷數據類型。如果 start、end 或 stop 中的任何一個是浮點數,則 dtype 被推斷為默認值,參見 get_default_dtype()。否則,dtype 被推斷為 torch.int64
|
layout | torch.layout |
返回張量的期望 layout。默認值:torch.strided
|
device | torch.device |
返回張量的期望設備。默認值:如果是None ,則使用當前設備作為默認張量類型,參見torch.set_default_tensor_type()。對于 CPU 類型的張量,則 device 是 CPU ,若是 CUDA 類型的張量,則 device 是當前的 CUDA 設備 |
requires_grad | bool |
autograd 是否記錄返回張量上所作的操作。默認值:False
|
代碼示例
>>> torch.arange(5) # 默認以 0 為起點 tensor([ 0, 1, 2, 3, 4]) >>> torch.arange(1, 4) # 默認間隔為 1 tensor([ 1, 2, 3]) >>> torch.arange(1, 2.5, 0.5) # 指定間隔 0.5 tensor([ 1.0000, 1.5000, 2.0000])
pyTorch中torch.range()和torch.arange()的區別
torch.range()和torch.arange()的區別
x = torch.range(-8, 8) y = torch.arange(-8, 8) print(x, x.dtype) print(y, y.dtype)
output:
?? tensor([-8., -7., -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,6., 7., 8.]) torch.float32
?? tensor([-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7]) torch.int64
可以看到,torch.range()的范圍是[-8, 8],類型為torch.float32
torch.arange()的范圍是[-8, 8),類型為torch.int64
在梯度設置時會出現錯誤:
x = torch.range(-8, 8, 1, requires_grad=True) y = torch.arange(-8, 8, 1, requires_grad=True) print(x, x.dtype) print(y, y.dtype)
即只有當類型為float時才可設置requires_grad=True,故可將
y = torch.arange(-8, 8, 1, requires_grad=True)
改為以下,即手動改變數據類型即可。
y = torch.arange(-8.0, 8.0, 1.0, requires_grad=True)
output:
?? tensor([-8., -7., -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,6., 7., 8.], requires_grad=True)
?? torch.float32
?? tensor([-8., -7., -6., -5., -4., -3., -2., -1., 0., 1., 2., 3., 4., 5.,6., 7.], requires_grad=True)
?? torch.float32
總結
原文鏈接:https://blog.csdn.net/weixin_44504393/article/details/127092330
相關推薦
- 2022-07-10 修改redo默認傳輸用戶sys到其他---redo_transport_user參數
- 2022-03-24 go語言開發環境配置(sublime?text3+gosublime)_Golang
- 2022-03-27 mongodb啟動方法小結_MongoDB
- 2022-10-16 docker保存鏡像到本地并加載本地鏡像文件詳解_docker
- 2022-04-09 詳解Docker下nginx外掛配置和文件_docker
- 2022-12-10 C語言中的結構體快排算法_C 語言
- 2023-08-12 JQ 實現復制到剪切板
- 2022-02-18 RuntimeError: CUDA error: invalid device ordinal
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支