caffe的docker模型在pycharm中的使用-----笔记

预先准备:

1、下载docker

2、pull一个caffe的docker模型

3、下载一个专业版的pycharm,一定要专业版,因为社区版的pycharm里面没有docker配置的选项,尽量不要破解版。

------------------------------------------------------------------------------------

正文

问题:我在这一步,然后打开file-setting之后的如下add,

发现docker是这样的,没有可以直接读取的image

实际上我已经pull了一些imge

 

找了n多的csdn之后,终于pycharm的官网找到了相关的帮助文件

【1】https://www.jetbrains.com/help/pycharm/docker.html

【2】https://www.jetbrains.com/help/pycharm/docker-connection-settings.html

1、在这里File---Setting---Build,Execution,Deployment---Docker里面

在参考2里面有Unix socket这三个选项的具体信息

因为我是在ubuntu系统里面的,所以就直接只用了第一种。仅仅在linux环境下可用的方法。

然后下面会有一个Connect Success,注意,这里一定要success。之前由于我权限没有配置好,所以一直是报错,提示权限不够。

关于权限这个,参考文档很多,我参考的是这个文档

https://blog.csdn.net/weixin_33916256/article/details/87640109

在完成这两步之后,由于我没有重启,或者注销重新登录,所以我的权限只能在一个终端中实现,重新开一个终端权限又会不够。所以很重要,完成教程中操作,然后重启docker之后,一定要重启计算机,这样的话,当前用户加入docker组的操作才能被同步到整个系统。

这个文档里面其实也说明了,如果您获得权限被拒绝错误,请确保将当前用户添加到计算机上的docker组。

然后点击右下角的Apply,

File---Setting---Project Interpreter 选择右上角的小齿轮里面的Add,如图

进入一个叫做 Add Python interpreter的窗口,选择右边的Docker,这个时候Image Name就跟上面不一样啦,有内容,并且可以下拉选择了。

最后点击OK,就可以将Docker的镜像环境配置到当前的pycharm项目里面了。

--------------------------------------------------------------------------------------------------------------------------

作为一个万年手残党,果然问题永远不会这么快解决。

import caffe    
print(1)        

在项目里面加入以上代码之后,提示:no model named caffe

在使用左下角的docker中的容器进行直接导入的时候,import caffe又是可以成功导入的

在查阅了一些信息之后,怀疑是因为,caffe不属于容器当中的python的安装环境,在镜像导入的时候导入的是容器当中的python安装包,所以没有成功加载caffe包。需要在python中加载容器的python解释器,才可以加载容器中的caffe。

以上怀疑来自bz的猜测,如果有看客知道原因或者解决方法忘留言告知~~~

--------------------------------------------------------------------------------------------------------------------------

然后bz在知乎里面看到了一篇帖子,链接如下:https://zhuanlan.zhihu.com/p/63426143

通过ssh的方式加载容器当中的python解释器,并且他提供了一个deepo的docker镜像,包含了caffe、caffe2、tensorflow、torch等深度学习框架,在文章中清晰的介绍了从pull到生成ssh后台,以及在pycharm中的配置的整个流程。

流程不做赘述,讲一下手残bz在按照流程走的时候遇到的坑。

第一个坑来自ssh配置:

在完成配置之后,在宿主机中连接的时候提示:

ssh: connect to host localhost port 12624: Connection refused

然后不相信,再重新按照流程走一遍,在完成所有配置,但没有退出容器的时候,运行:

ssh localhost

提示错误:

ssh: connect to host localhost port 22: Cannot assign requested address

我不知道什么原因导致的,私以为是我乱七八糟的配置了很多遍,一个镜像生成很多容器,有很多ssh之类的,所以我就关闭了所有容器:

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

然后再按照流程走就过了,发现其中有几个需要注意的地方:

1、安装前先跟新

apt-get update
apt-get upgrade
apt-get install openssh-server

2、ssh restart之后应该会有ok,才是配置正确

3、如果/etc/ssh/sshd_config里面的port 22是被注释掉的,一定要放出来

第二个坑来自pycharm:

对于PyCharm-->Project-->Project Interpreter的配置是一样的,只不过,手残bz第一次配置的时候在interpreter的选择的时候选了python3,如下图这一步,顺便说一句Sync folders里面的数字是会变的。

然后由于加入了环境之后仍旧无法import caffe,所以bz就修改了path mappings里面的值

然后仍旧不行,所以博主就按照python3.6又生成了一个。但是下面的问题一直存在着

ssh://root@localhost:12623/usr/bin/python3.6 -u /media/data/program/tvm_test/test.py
bash: line 0: cd: /media/data/program/tvm_test: No such file or directory
/usr/bin/python3.6: can't open file '/media/data/program/tvm_test/test.py': [Errno 2] No such file or directory

Process finished with exit code 2

最后bz把环境切回了python3的ssh链接,然后发现,下面原来自己输入的路径配置没有了,取而代之的是一个生成的路径,然后可以import caffe了。

并且每开一个工程就要重新生成一遍ssh的环境配置。

感觉莫名其妙,不明所以。

不过最后成功了就好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值