pytorch
oneTaken
生活有很多种方式。
展开
-
pytorch 几个基本问题
1. 如何 finetune一个已有模型参考 PyTorch参数初始化和Finetune 利用requires_grad参数,将需要更新参数的层设置为True即可,示例:from torch import modelsmodel = models.vgg19_bn(pretrained=True)for param in model.parameters(): param.requir原创 2017-10-08 21:07:20 · 927 阅读 · 0 评论 -
pytorch 可视化初探
最近遇到一个调不出模型性能 bug, 需要深入一点了解。 可视化这块了解到主要是三块:visdomtensorboard-pytorchcrayon1. visdom先跑demo。端口号是8097, 可以在本地监听,然后用浏览器打开。git clone https://github.com/facebookresearch/visdomcd visdompython -m visdo原创 2017-12-06 13:09:11 · 1835 阅读 · 0 评论 -
pytorch model 2 coreml
需要将训练好的 pytorch model 移植到 ios上,需要转换成 coreml格式。 caffe2 可以在 coreml上使用,一种方式是 pytorch 转换成 caffe2, 再利用 caffe2的跨平台移植到移动端上; 此外,onnx 可以直接转换成 coreml 格式的。需要转换的模型包含 conv, batchnorm, relu, avgpool2d, dropout, li原创 2017-12-05 20:33:44 · 1699 阅读 · 0 评论 -
安装 onnx_coreml on OSX
onnx转换成 coreml格式的时候, 需要安装 onnx_coreml,从源码安装的时候,并没有在~/site-packages/中生成 onnx_coreml相关文件,由于需要对生成的文件进行一些更改,所以不能从源码安装,pip install -U onnx_coremltimeout, 然后科学上网,能下载,但是提示:Command "python setup.py egg_info" f原创 2017-12-05 18:53:51 · 1308 阅读 · 0 评论 -
pytorch multi-process 在 multi-gpu 上的 deadlock
在调试的时候,不小心在同一组多 GPU 上跑了多组程序,由于在 pycharm 中中端 pytorch 程序的时候,经常会有后台进程关闭不了,所以需要手动去kill。然后,不小心陷入了一个 deadlock状态,参考nvidia-smi shows Unknown Error , and the corresponding 3 gpus can’t be used #3979,这个时候无法通过 ki原创 2017-12-04 18:57:18 · 1514 阅读 · 0 评论 -
onnx on OSX
在 mac 下安装 onnx, 由于no checker if use conda install way #306, 需要使用从源码安装,git clone https://github.com/onnx/onnxcd onnxpython setup.py install会提示clang 错误,至少需要 OS X 10.7+MACOSX_DEPLOYMENT_TARGET=10.9 C原创 2017-12-05 17:14:26 · 1386 阅读 · 0 评论 -
pytorch increasing cuda memory OOM 问题
改了点model 的计算方式,然后就 OOM 了,调小了 batch_size,然后发现发现是模型每次迭代都会动态增长 CUDA MEMORY, 在排除了 python code 中的潜在内存溢出问题之后,基本可以把问题定在 pytorch 的图计算问题上了,说明每次迭代都重新生成了一张计算图,然后都保存着在,就 OOM 了。参考CUDA memory continuously increases原创 2017-12-01 15:33:35 · 5044 阅读 · 1 评论 -
onnx 使用初体验
需要使用 pytorch, caffe2, coreml, onnx. 由于 caffe2 只支持 python2, 使用 python2.7.14来作为虚拟环境来编译 pytorch的时候,报错:clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)clang: error原创 2017-11-21 19:33:22 · 12489 阅读 · 0 评论 -
pytorch CrossEntropyLoss 的数值稳定性问题
手写了一个带 mask 的 CrossEntropyLoss, 分为了 softmax, log, nllloss 三个步骤。 先 softmax, 再log + nllloss出现inf, 先 log_softmax, 再nllloss就可以了。原创 2017-11-29 17:19:50 · 4573 阅读 · 1 评论 -
pytorch contiguous 相关问题
pytorch 里面的 contiguous()是以 C 为顺序保存在内存里面,如果不是,则返回一个以 C 为顺序保存的tensor.tensor_name.is_contiguous()可以用来判断是否以 C 为顺序保存的。 一些可能导致不是以 C 为顺序保存的可能为:1. narrow2. transposeimport torchx = torch.ones(10, 10)x.is_co原创 2017-11-29 14:05:32 · 4943 阅读 · 1 评论 -
pytorch runtime error(59):device-side assert triggered at XXX
跑模型的时候,遇到了这个问题,定位是在 char-embedding 中的 conv 层中,由于需要使用 pool1d, char embedding后的 size 为(N*seq_len, word_len, embed_size),然后需要放在 conv层中进行 conv1d 和 pool1d, 需要在 word_len的维度上进行计算,所以需要转换一个维度,然后报错:RuntimeError(原创 2017-11-29 14:00:12 · 31671 阅读 · 0 评论 -
一些从源码编译 pytorch的时候的问题
由于遇到了不能使用两块 k80GPU, 和pycharm 远程连接服务器的时候不能调试的问题:ImportError: dlopen: cannot load any more object with static TLS然后 conda install 的 pytorch 使用的 cudnn 版本的6的,使用 torch.backends.cudnn.version()来查看使用的 cunn原创 2017-11-28 16:02:06 · 7126 阅读 · 2 评论 -
pytorch runtime error: CUDNN_STATUS_MAPPING_ERROR
将训好的模型的参数赋值给另外一个网络, 在测试赋值是否正确的时候,在output = model(input)一直报错:runtime error: CUDNN_STATUS_MAPPING_ERROR多方调试无果。 参考failed to enqueue CUDNN_STATUS_MAPPING_ERROR In Cudnn documentation about this particu原创 2017-11-02 15:46:15 · 29426 阅读 · 12 评论 -
pytorch tensor.view()变换得到的 tensor 一致
使用torch.utils.data.TensorDataset来制作自己的数据集, 参考PyTorch: How to use DataLoaders for custom Datasets .import torch.utils.data as data_utilstrain = data_utils.TensorDataset(features, targets)train_loader原创 2017-10-11 20:02:34 · 7345 阅读 · 0 评论 -
pytorch 保存与加载模型
懒得吐槽自己,折腾了半天。 需要 finetune vgg19_bn, 直接使用 model_zoo.from torchvision import modelsimport torchmodel = models.vgg19_bn(pretrained=True)torch.save(model.state_dict(), 'vgg19_bn.pkl')没什么问题,demo看起来一切正常。由原创 2017-10-09 19:42:03 · 10544 阅读 · 1 评论 -
pytorch 问题汇总
1. Cublas runtime error : library not initialized在使用 GPU 运行的时候,提示这个错误,相关问题解决方法为: 参考github issue, [pytorch forum],sudo rm -rf ~/.nv还是无法解决,而且删除了这个文件之后,如果运行 gpu程序还会再次生成这个缓存文件。看到 forum 里面有一个的回答...原创 2017-10-14 13:29:39 · 14054 阅读 · 1 评论