- Pycharm社区版不支持SSH连接服务器
- Docker镜像安装:详见“M1 Docker:打造Tensorflow炼丹环境”
二、Docker容器内配置过程step1: 创建一个新容器主要参考了:https://www.jianshu.com/p/f6936cdf299d
过程略有不同
- 完成端口映射
- sftp默认22端口
docker run -tid --name tf2_ssh<容器名> -p 8022:22 -p 8887:8888 armswdev/tensorflow-arm-neoverse-n1:r21.10-tf-2.6.0-eigen<镜像名:版本> /usr/sbin/init
step2: 容器中安装ssh服务sudo apt update sudo apt install openssh-serverstep3: 修改root密码
- 初始化的root密码是随机的,这里修改一下
sudo passwd
step4: 修改ssh配置# 修改ssh配置 sudo vi /etc/ssh/sshd_config # 主要修改以下部分 1. #注释 Subsystem sftp /usr/libexec/openssh/sftp-server 2. Subsystem sftp internal-sftp 3. PubkeyAuthentication yes #启用公钥私钥配对认证方式 4. AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径 5. PermitRootLogin yes #root能使用ssh登录
step5: 重新启动ssh服务sudo /etc/init.d/ssh restart
三、本地测试能否正常连接 step6: 本地检查22端口映射docker port tf2_ssh 22step7: 本地验证登陆
- 提示输入密码
ssh root@0.0.0.0 -p 8022四、Pycharm SSH连接Docker容器
step8: 选择python解释器主要参考:https://www.jianshu.com/p/c27066e848c9
pycharm版本略有不同,过程有出入
- 这里和【本地测试】环节的ip 、端口保持一致,Username选择root
- next
- 输入密码,next
- python解释器路径
- 这里默认的是/usr/bin/python,但容器中默认的不一定是这个,在容器中输入which python,确定路径为:
- 这里默认的是/usr/bin/python,但容器中默认的不一定是这个,在容器中输入which python,确定路径为:
- 本地目录映射到容器
- sync folders: 选择一下本地项目路径 -> 容器路径
- finish
step10: run一下试试- 写个脚本run一下,仍然是官网代码
import tensorflow as tf print(tf.__version__) mnist = tf.keras.datasets.mnist (x_train, y_train),(x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) model.fit(x_train, y_train, epochs=5) model.evaluate(x_test, y_test)
- 如果遇到下面的报错:
- 在容器中下载:sudo apt-get install libopenblas-dev
- 刷新一下pycharm即可
importError: libopenblas.so.0: cannot open shared object file
- 中国人不骗中国人,代码运行结果:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)