日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

tensorboard ckpt pb 模型的输出节点_PyTorch 1.1.0发布,官方支持TensorBoard,还有更多性能提升!...

發布時間:2024/9/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 tensorboard ckpt pb 模型的输出节点_PyTorch 1.1.0发布,官方支持TensorBoard,还有更多性能提升!... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“AI公園”,關注公眾號,選擇加“星標“或“置頂”

作者:Facebook

編譯:ronghuaiyang

導讀

Facebook剛剛發布了PyTorch的最新版本,PyTorch1.1.0,這是自從發布PyTorch1.0以來的又一個重大的更新。

Facebook剛剛發布了PyTorch的最新版本,PyTorch1.1.0,這是自從發布PyTorch1.0以來的又一個重大的更新,在這個版本中,最最顯眼的一個更新就是官方支持TensorBoard了,之前大家都是用的TensorBoardX,這次,終于可以光明正大的使用TensorBoard了,順便吐槽一下visdom,確實不如TensorBoard好用。

除了TensorBoard之外,其實還有不少重要的更新,下面給大家提供一些摘要,給大家先過目一遍,我列出了一些要點,更多的內容大家可以去看看原文。

注意:不再支持CUDA 8.0

重點

TensorBoard (試驗)

使用TensorBoard對可視化和模型調試提供一流的本地支持,這是一個用于檢查和理解訓練運行、張量和圖的web應用程序套件。PyTorch現在支持TensorBoard通過一個簡單的 fromtorch.utils.tensorboardimportSummaryWriter命令來寫入日志。直方圖、嵌入、標量、圖像、文本、圖形,以及更多東西都可以在訓練過程中進行可視化。目前,TensorBoard支持還處于試驗階段。

[JIT] ScriptModules中的屬性

可以在 ScriptModule上分配屬性,方法是用torch.jit.Attribute指定類型。屬性類似于參數或緩沖區,但可以是任何類型。當你調用torch.jit.save時,它們將與任何參數/緩沖區一起被序列化,因此它們是在模型中存儲任意狀態的好方法。

例子:

class Foo(torch.jit.ScriptModule): def __init__(self, a_dict): super(Foo, self).__init__(False) self.words = torch.jit.Attribute([], List[str]) self.some_dict = torch.jit.Attribute(a_dict, Dict[str, int]) @torch.jit.script_method def forward(self, input: str) -> int: self.words.append(input) return self.some_dict[input]

[JIT] 在TorchScript中支持字典和列表

TorchScript現在對列表和字典類型提供了健壯的支持。它們的行為很像Python列表和字典,支持大多數內置方法,包括簡單的包含操作和 for…in的構造方式。

[JIT] 在TorchScript中用戶自己定義類 (試驗)

對于更復雜的有狀態操作,TorchScript現在支持用 @torch.jit.script標注類。使用這種方法的類可以像其他TorchScript模塊一樣在c++中jit編譯和加載。

@torch.jit.scriptclass Pair: def __init__(self, first, second) self.first = first self.second = second def sum(self): return self.first + self.second

DistributedDataParallel新功能和指南

nn.parallel.DistributedDataParallel:現在可以封裝multi-GPU模塊,可以在一臺服務器上使用模型并行,以及多臺服務器上使用數據并行。

突破性的改進

  • Tensor.set_: Tensor中的device不再可以通過Tensor.set_來改變了. 這通常發生在使用默認CUDA設備設置Tensor,然后在另一個CUDA設備的Storage中交換Tensor時。相反,需要從一開始就在正確的設備上建立Tensor。
  • 注意 lr_scheduler.step的順序更改了。
  • torch.unique: 把sorted的默認值改成了True.
  • [JIT]重命名isTensor接口為isCompleteTensor.
  • [JIT]去掉了GraphExecutor的python綁定.
  • [C++]: many methods on 在Type上的許多方面現在不再退出了,可以使用函數或者Tensor的方法來起到同樣的效果.
  • [C++]:TensorOptions的Backend構造器不存在了. (18137).
  • [C++, Distributed]: 去掉了c10dProcessGroup::getGroupRank也去掉了.

Tensors / dtypes

  • torch.bool: 增加了對torch.bool類型以及該類型張量 (存儲為1-byte)的支持. 支持NumPy的轉化,但是操作現在是有限制的.

優化器

  • optim.lr_scheduler.CyclicLR: 支持循環學習率和動量.
  • optim.lr_scheduler.CosineAnnealingWarmRestarts: 新的學習率策略:帶熱身重啟的隨機梯度下降.
  • 支持多個同步的學習率策略.

分布式

  • torch.distributions: 現在支持多重繼承.

采樣

  • quasirandom.SobolEngine: 新采樣器.

DistributedDataParallel

  • nn.parallel.DistributedDataParallel: 現在支持帶無用參數的模型(例如控制流,比如adaptive softmax等等).

提升

  • torch.min,torch.max,torch.median,torch.mode,torch.kthvalue,torch.symeig,torch.eig,torch.pstrf,torch.qr,torch.geqrf,torch.solve,torch.slogdet,torch.sort,torch.topk,torch.gels,torch.triangular_solve現在返回一個名稱元組來描述輸出.
  • torch.empty(還有其他的構造函數): 現在可以接受pin_memory參數; 現在不用torch.Storage也可以就那些pin了.. .
  • torch.histc: 現在支持CUDA了.
  • torch.unique: 增加了return_counts.
  • torch.logspace: 增加了指定對數底的功能.
  • torch.set_printoptions: 增加對科學計數的支持 .
  • torch.btrifact現在可以操作超過3維的tensor.
  • torch.kthvalue: 支持CUDA.
  • torch.abs: 支持uint8和int8類型.
  • torch.stack,torch.cat: 支持CPU半精度tensors.
  • torch.cross: 支持負維度.
  • torch.lerp: 增加像支持Tensor一樣支持weight.
  • torch.transpose: 和NumPy變得一樣了: 1-d和0-d數組都可以接受,返回原來一樣的數組.
  • torch.linspace,torch.logspace現在可以使用steps=1和start!=end
  • torch.cholesky: 把導數從三角形矩陣變成對稱矩陣.
  • torch.lerp: 提升了數值穩定性.
  • torch.logdet,torch.slogdet: 提升了數值精度.
  • Tensor.__contains__現在支持了.
  • Tensor.fill_和torch.zeros在CPU上支持半精度.
  • Tensor.resize_as_,Tensor.view: 在CPU上支持半精度.
  • Tensorindexing: 允許通過NumPy布爾值來進行索引.
  • nn.EmbeddingBag: 支持半精度密集后端.
  • nn.Embedding: 修改了密集嵌入來和雙后端一起使用.
  • nn.MaxPool1d: 允許列表和元組作為output_size輸入.
  • nn.CTCLoss: 通過zero_infinity參數可以支持對無限的損失置零.
  • nn.Dropout: 支持在eval時使能.
  • nn.MSELoss: 對不合法的廣播進行告警.
  • nn.Module.load_state_dict: 增加兩個返回值missing_keys和unexpected_keys.
  • nn.parallel.data_parallel: 強制設備匹配device_ids.
  • torch.device: 過去只接受設備好的地方,現在都可以用這個了.
  • dtype.int8這個類型的tensors現在可以轉換為NumPy數組了.
  • nn.functional.gumbel_softmax: 使用dim參數運行多個維度的輸入.
  • nn.functional.cosine_similarity: 提高了精度.
  • torch.autograd: 不再保存不需要的輸入,提高了內存效率.
  • torch.autograd.profiler: 增加了自身的CPU時間,總的CPU時間.
  • DataLoader: 支持接受一個用戶自定義的內存pinning函數.
  • DataLoader: 在EINTR重試libshm .
  • DataLoader: 修改了使用pin_memory和PackedSequence的一個問題.
  • data.utils.collate,data.utils.pin_memory: 現在可以保存名字元組.
  • 在許多的索引錯誤情況下,使用 IndexError代替RuntimeError.
  • 在CPU上支持索引 torch.float16tensor.
  • 在inplace操作上增加(有限的)錯誤檢測.
  • utils.checkpoint.checkpoint: 支持None作為參數 .
  • torch.autograd:為one of the variables neededforgradient computation has been modifiedbyan inplace operation異常增加更多的信息.
  • cuda.synchronize: 增加一個設備參數.
  • cuda.reset_max_memory_*: 現在支持了.
  • distributions.Independent: 現在可以計算KL散度了.
  • torch.distributed.new_group: 現在支持覆蓋默認的backend.

性能

重點

  • nn.BatchNormCPU推理速度提升了最高19倍.
  • nn.AdaptiveAvgPool: size=1時通常可以加速30倍.
  • nn.EmbeddingBagCPU性能提升了4倍.
  • Tensor.copy_: 對于大的tensor拷貝加速了2~3倍.
  • torch.nonzero: 在CPU上現在比numpy塊2倍.
  • 改進用于為Pascal架構和更新的GPU提升了緩存分配器的性能,Mask-RCNN的內存利用率提高了10-20%。
  • reduction functions: 對于某些大Tensor的情況下,加速了50-80%.
  • [JIT]Graph fuser: 在廣播的存在下,更好地融合向后圖.
  • [JIT]Graph fuser:batch_norm推理時的融合.
  • [JIT]Graph fuser:layer_norm推理時的融合.

英文原文:https://github.com/pytorch/pytorch/releases

更多文章,請關注微信公眾號:AI公園

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的tensorboard ckpt pb 模型的输出节点_PyTorch 1.1.0发布,官方支持TensorBoard,还有更多性能提升!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。