深度学习Apex库的安装以及一些问题的解决 |
您所在的位置:网站首页 › apex安装大于一年 › 深度学习Apex库的安装以及一些问题的解决 |
深度学习Apex库的介绍
APEX是英伟达开源的,完美支持PyTorch框架,用于改变数据格式来减小模型显存占用的工具。其中最有价值的是amp(Automatic Mixed Precision),将模型的大部分操作都用Float16数据类型测试,一些特别操作仍然使用Float32。并且用户仅仅通过三行代码即可完美将自己的训练代码迁移到该模型。实验证明,使用Float16作为大部分操作的数据类型,并没有降低参数,在一些实验中,反而由于可以增大Batch size,带来精度上的提升,以及训练速度上的提升 深度学习Apex库的安装首先下载apex安装文件,网址是https://github.com/NVIDIA/apex,下载到本地任何文件夹并进行解压。 然后激活anaconda待安装环境,并进入刚刚解压缩的apex的安装文件目录。 conda activate myanaconda3 # 修改成自己的虚拟环境 cd apex # 进入到刚刚解压的apex安装文件目录之中先安装一些相关的依赖: pip install -r requirements.txt最后通过以下代码进行安装 python setup.py install 深度学习Apex库安装的一些问题:问题一:在GitHub上下载apex安装文件时,apex安装文件有好几个版本,对我自己来说使用默认下载的安装文件安装不成功,最后下载了22.04.dev版本的文件,才成功安装。 问题三:在训练网络时出现“IndexError: tuple index out of range”错误 参考: https://github.com/NVIDIA/apex/issues/694#issuecomment-918833904 bug产生的原因: 使用了高版本的Python或apex库(到底是哪一个不确定),导致GPU上运行pytorch深度学习代码出现‘IndexError: tuple index out of range’错误。 解决办法: 执行安装代码之前,首先修改apex安装文件的源代码。修改源代码文件中的apex-master/apex/amp/utils.py文件 将 if cached_x.grad_fn.next_functions[1][0].variable is not x:修改为 if cached_x.grad_fn.next_functions[0][0].variable is not x:之后再执行python setup.py install编译安装。实测这个解决方案成功修复了报错的问题。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |