浪琴,pytorch 1.1.0发布后,正式支持tensor board,进一步提高了性能!-188bet亚洲体育_188金宝搏官网下载_比分直播188

国际新闻 235℃ 0

点击上方“AI公园”,重视大众号,挑选加“星标“或“置顶”

作者:Facebook

编译:ronghuaiyang

导读

Facebook刚刚发布了PyTorch的最新版别,PyTorch1.1.0,这是自从发布PyTorch1.0以来的又一个严重的更浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188新。

Facebook刚乏善可陈刚发布了PyTorch的最新版别,PyTorch1.1.0,这是自从发布PyTorch1.0以来的又一个严重的更新,在这个版别中,最最显眼的一个更新便是官方支撑TensorBoard了,之前我们都是用的TensorBoardX,这次,总算能够光明磊落的运用TensorBoard了,趁便吐槽一下visdom,的确不如TensorBoard好用。

除了TensorBoard之外,其实还有不少浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188重要的更新,下面给我们供给一些摘要,给我们先过目一遍,我列出了一些关键,更多的内容我们能够去看看原文。

留意:不再支撑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:
s腿elf.words.append(input)
return self.some_dict[i浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188nput]

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

TorchScript现在对列表和字典类型供给了强健的支撑。它们的行为很像Python列表和字典,支撑大多数内置办法,包括简略的包括操作和 for…in的结构办法。

[JIT] 在TorchScript中用户自己界说是非画类 (实验)

关于更杂乱的有状况操作,TorchScript现在支撑用 @torch.jit.script标示类。运用这种办法的类能够像其他TorchScript模块相同在c++中jit编译和加载。

@torch.jit.script
class 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++]:TensorOpti浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188ons的Bac贺吉胜kend结构器不存在了. (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: 新采样器.

DistributedD雄心壮志ataParallel

  • 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_print黄hoptions: 添加对科学计数的支撑 .
  • torch.btrifact现在能够操作超越3维的tensor.
  • torch.kthvalue: 支撑CUDA.
  • torch.abs: 支撑uint8和int8类型.
  • torch.stack7天气候,torch.cat: 支撑C交通事故报警电话PU半精度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: 在spareCPU上支撑半精度.
  • Tensorindexing: 答应经过NumPy布尔值来进行索引.
  • nn.EmbeddingBag: 支撑半精度密布后端.
  • nn.Embedding: 修改了密布嵌入来和双后端一同运用.
  • nn.MaxPool1d: 允张榕蓉许列表和元组作为output_s机械师电脑诚心废物i浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188ze输浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188入.
  • nn.CTCLoss: 经过zero_infinity参数能够支撑对无限的丢失置零.
  • nn.Dropout: 支撑在浪琴,pytorch 1.1.0发布后,正式支撑tensor board,进一步提高了功用!-188bet亚洲体育_188金宝搏官网下载_比分直播188eval时使能.
  • 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和PackedSequen梧桐轩ce的一个问题.
  • 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杰克_*: 现在支撑了.
  • di蛋生王妃stributions.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公园