更新:Conda的编译问题已经解决,请访问此处安装新版本。
另外,再把相应的发布日志一同搬过来吧。
Windows版本的改动:
错误修复
- backward中的错误会导致死锁
- DataLoader多线程时的内存泄漏
- torch.cuda中的缩进bug
新功能
- 添加对 CUDA 和 cuDNN 新版本的支持
- 添加对 Ninja 和 clcache 编译器的支持
已知问题
- 有些测试不能通过
- 不能支持 torch.distributed(分布式)、NCCL(多卡)和 Magma
- 不支持 3.5 及以下的版本
- num_worker设置为0以上的值会导致内存泄漏。另外代码入口得用以下的if语句包裹。这里稍微解释下为什么要这样,因为Windows不支持fork,多进程只能采用spawn,而如果你不用这个条件包裹,那么代码就会被再次执行一遍,这样如果不加限制,那么就会有无限多的进程了。
if __name__ == '__main__':
另外这两天还有个好消息是,Windows的CI已经正式在搭建中了,估计下周就能完工。以后大家可以更加方便的使用master分支进行编译了。我写的一些脚本可以帮助你们方便的进行编译。
以上,就是文章的全部内容啦,如果感觉还意犹未尽的话,可以给我的Github 主页或者项目加个watch或者star之类的(滑稽),以后说不定还会再分享一些相关的经验。