PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试

2023-05-16

目录

  • PyCharm本地连接远程conda虚拟环境(TensorFlow)进行代码调试
    • 说明
    • 1. GCP创建Ubuntu+选择GPU
    • 2.示例并远程连接
    • 2. 安装miniconda+创建新虚拟环境
    • 3. 在新虚拟环境中安装tensorflow1.4+cuda8.0
    • 4. PyCharm连接远程环境
    • 5. 配置本地代码和远程代码映射
    • 6. 安装Jupyter及使用本地接口连接远程Jupyter

PyCharm本地连接远程conda虚拟环境(TensorFlow)进行代码调试

说明

根据老师要求,需要吧github代码(tensorflow1.4 + Ubuntu16.04)转成pytorch,首先想做的事就是如何在本地debug,查看每一步生成的张量,但由于本人使用的电脑配置是:

MacBook Pro M1 Pro 2021

不支持cuda,所以很蛋疼,无法在本地debug,因为代码的框架tensorflow1.4+操作系统 Ubuntu 需要生成几个需要用到cuda文件的文件,倒腾了好几天,使用了macos、win11都没有成功。

灵机一动,在GCP上新建一个Ubuntu是不是可以了呢?操作起来吧

1. GCP创建Ubuntu+选择GPU

这里参考我之前的一篇 Google Cloud Platform设置centos ssh登录

这里唯一不太一样的是需要在创建的示例上添加GPU,如下图所示

在这里插入图片描述
选择N1
在这里插入图片描述

可以选择了
在这里插入图片描述

根据自己的需求选择GPU版本
在这里插入图片描述

如果创建不成功,可能是你的账号是试用账号,需要“转正”一下,具体根据GCP的要求来就可以,这里不做赘述

修改Boot Disk
在这里插入图片描述

Boot Disk 选择
在这里插入图片描述

注意硬盘size设多一点,10G显然是不够的,我这里设置了50G

其余步骤都与Google Cloud Platform设置centos ssh登录相同,设置好服务器实例的密码后进行下一步。

2.示例并远程连接

本地terminal输入密码

cesc@Cescs-M1-pro  ~  ssh -p 22 root@[host_ip]
Load key "/Users/cesc/.ssh/id_rsa": invalid format
root@[host_ip]'s password:

登录成功
在这里插入图片描述

2. 安装miniconda+创建新虚拟环境

下载miniconda

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

安装miniconda

sh Miniconda3-latest-Linux-x86_64.sh

进入miniconda默认虚拟环境venv

bash

创建新虚拟环境,叫作tf,python版本2.7

conda create --name tf --yes python=2.7

进入新虚拟环境

conda activate tf

3. 在新虚拟环境中安装tensorflow1.4+cuda8.0

可以查看一下python版本

(tf) root@instance-1:~# python --version
Python 2.7.18 :: Anaconda, Inc.

安装tensorflow1.4

pip install tensorflow==1.4.0

下载cuda8.0

wget https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run

安装cuda8.0
这里要注意略过OpenGL的安装,否则可能会安装失败参考

sh cuda_8.0.61_375.26_linux-run

到这里应该环境准备工作都已完成,如果哪里有问题,可以自行百度解决

4. PyCharm连接远程环境

打开PyCharm项目,打开Preferences,找到Python Interpreter或者Project Interpreter
在这里插入图片描述
点击配置解释器
在这里插入图片描述
选择SSH Interpreter
输入你的服务器公网ip和用户名(一般为root)
在这里插入图片描述
输入密码
在这里插入图片描述
找到服务器tf虚拟环境所在路径,选择python文件,然后finish
在这里插入图片描述

如果能在Preferences这里看到库文件,说明解释器添加成功
在这里插入图片描述

5. 配置本地代码和远程代码映射

根据图片中的步骤1、2、3依次点击,打开Configuration。
在这里插入图片描述
配置本地代码路径和服务器上的代码路径(服务器代码路径可以是空文件夹,之后可以从本地上传,或者git clone也OK)
在这里插入图片描述
到此,应该就可以在本地利用远程的虚拟环境调试代码了,利用cuda(cuda在/usr/local/cuda-8.0目录下)文件也生成了需要的文件。

6. 安装Jupyter及使用本地接口连接远程Jupyter

还可以安装Jupyter

pip install jupyter
jupyter notebook  --allow-root
(tf) root@instance-1:~# jupyter notebook  --allow-root
[I 07:29:08.563 NotebookApp] Serving notebooks from local directory: /root
[I 07:29:08.563 NotebookApp] The Jupyter Notebook is running at:
[I 07:29:08.563 NotebookApp] http://localhost:8888/?token=9491d37a11668e5da6710609bf6eb1593d4de8c3ac5e16db
[I 07:29:08.563 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 07:29:08.566 NotebookApp] No web browser found: could not locate runnable browser.
[C 07:29:08.566 NotebookApp]

    To access the notebook, open this file in a browser:
        file:///root/.local/share/jupyter/runtime/nbserver-15116-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token=9491d37a11668e5da6710609bf6eb1593d4de8c3ac5e16db

在本地terminal使用以下命令映射本地8888到远程8888端口

ssh -L8888:localhost:8888 root@[your_server_ip]

成功后点击生成上边带token的网址
在这里插入图片描述
本地可以访问
在这里插入图片描述
新建一个python文件run一下试试看
在这里插入图片描述
大功告成!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试 的相关文章

  • PyCharm 上的远程调试

    我的源代码存储在远程计算机上 我想远程编码和调试我的Python源代码 我应该如何配置PyCharm启用远程调试 对于远程调试 您需要将源代码复制到本地计算机 设置项目 配置到远程计算机的部署并添加远程 Python 解释器以在远程系统上运
  • 无法从外部 bash 脚本正确设置 MySQL 密码

    我有两个脚本 主要的一个脚本执行一些不同的操作并调用第二个脚本 第二个脚本安装 MySQL 从我的主脚本中我做了这样的事情 read p Set the password for the database min 4 characters
  • AMD plaidml 与 CPU Tensorflow - 意外结果

    我目前正在运行一个简单的脚本来训练mnist数据集 通过 Tensorflow 通过我的 CPU 运行训练给了我49us sample和使用以下代码的 3e 纪元 CPU import tensorflow as tf mnist tf k
  • 重命名 TensorFlow 中保存模型的变量范围

    是否可以在张量流中重命名给定模型的变量范围 例如 我根据教程创建了 MNIST 数字的逻辑回归模型 with tf variable scope my first scope NUM IMAGE PIXELS 784 NUM CLASS B
  • Keras 模型中的 Softmax 采样

    我考虑过的一些方法 继承自 Model 类在tensorflow keras中采样softmax https stackoverflow com questions 52732145 sampled softmax in tensorflo
  • CUDA 常量内存是否应该被均匀地访问?

    我的 CUDA 应用程序的恒定内存小于 8KB 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 如果是 如何确保所有线程同时访问同一地址 既然它都会被缓存 我是否需要担心每个线程访问相同的地址以进行优化 是的 这缓存本身每
  • TensorFlow:训练时参数不更新

    我正在使用 TensorFlow 实现分类模型 我面临的问题是 当我运行训练步骤时 我的权重和误差没有更新 结果 我的网络不断返回相同的结果 我根据以下内容开发了我的模型MNIST 示例 https www tensorflow org v
  • 如何在 Ubuntu 10.04 上使用 PostgreSQL 8.4.4 生成 uuid?

    我正在 Ubuntu 10 04 上运行 PostgreSQL 8 4 4 我正在尝试生成 uuid 但找不到方法 我确实有 uuid ossp sql usr share postgresql 8 4 contrib uuid ossp
  • 使用 TFLite 量化模型的参数进行计算操作

    我正在尝试使用量化的 Mobilenetv2 模型在硬件中实现图像分类here https www tensorflow org lite guide hosted models 为此 我首先需要从头到尾重现推理过程 以确保我理解对数据执行
  • 如何释放 (ana)conda 占用的磁盘空间?

    我经常使用 conda 包管理器 到目前为止 我有相当多的环境和大量下载的软件包 占用了我的 SSD 上的大量空间 释放部分空间的一个明显途径是使用以下命令 conda env export gt environment yml from
  • 在 __device/global__ CUDA 内核中动态分配内存

    根据CUDA 编程指南 http developer download nvidia com compute cuda 3 2 prod toolkit docs CUDA C Programming Guide pdf 第 122 页 可
  • 3D 卷积神经网络输入形状

    我在使用 3D CNN 提供数据时遇到问题Keras http keras io和 Python 对 3D 形状进行分类 我有一个文件夹 其中包含一些 JSON 格式的模型 我将这些模型读入 Numpy 数组 模型为 25 25 25 表示
  • 如何在 ubuntu 上的 emacs 中运行 shell 命令,同时避免 bash 作业控制错误?

    我在 ubuntu 中安装了 emacs 使用 sudo apt get install emacs 我遇到的问题是 当我尝试从 emacs 中运行 shell 命令时 例如M ls 输出之前是这样的 bash cannot set ter
  • 使用 CUDA 进行逐元素向量乘法

    我已经在 CUDA 中构建了一个基本内核来执行逐元素两个复向量的向量 向量乘法 内核代码插入如下 multiplyElementwise 它工作正常 但由于我注意到其他看似简单的操作 如缩放向量 在 CUBLAS 或 CULA 等库中进行了
  • Google Cloud ML:输出的外部尺寸必须未知

    我们在本地得到了一个工作的导出模型 正在创建一个新的模型版本谷歌云机器学习如下 Create Version failed Model validation failed Outer dimension for outputs must b
  • 为什么在线预测失败并显示“无法从 feed 中获取元素作为字节”?

    在线预测失败 并显示 无法从源中获取字节形式的元素 这是什么意思以及如何解决它 我使用以下代码生成预测 request data examples pickup longitude 73 885262 pickup latitude 40
  • 保护一个保存 MySQL 数据库的简单 Linux 服务器?

    这是一个初学者问题 但我浏览了该网站上的许多问题 但没有找到简单直接的答案 我正在设置一个运行 Ubuntu 的 Linux 服务器来存储 MySQL 数据库 该服务器尽可能安全非常重要 据我所知 我主要担心的是传入的 DoS DDoS 攻
  • 警告:c 中指针和整数之间的比较[默认启用]

    我想检查用户输入是否仅包含数字 所以 我使用以下代码 for i 0 argv 1 i NULL i if isdigit argv 1 i printf Error return 1 它工作得很好 但我收到了这个警告 warning co
  • Keras 中的 model.fit() 和 model.evaluate() 有什么区别?

    我使用 Keras 和 TensorFlow 后端来训练 CNN 模型 之间是什么model fit and model evaluate 我应该最好使用哪一种 我在用model fit 截至目前 我知道的用处model fit and m
  • 如何设置 1dCNN+LSTM 网络(Keras)的输入形状?

    我有以下想法要实施 Input gt CNN gt LSTM gt Dense gt Output 输入有 100 个时间步长 每个步长有一个 64 维特征向量 A Conv1D层将在每个时间步提取特征 CNN 层包含 64 个滤波器 每个

随机推荐

  • Maven3.6.1下载与配置,超详细

    Maven3 6 1下载与配置 xff0c 超详细Maven3 6 1下载与配置 xff0c 超详细Maven3 6 1下载与配置 xff0c 超详细 Maven下载与配置 1 官网下载对应版本 xff0c 推荐下载免安装版 下载地址 ht
  • 【GIS】GIS矢量空间分析(上)

    0 GIS的基本概念 栅格数据与矢量数据 上图中 xff0c a为图形模拟表示的地理对象 xff0c b为控件对象对应的栅格数据模型表示 xff0c c为对应的矢量数据模型表示 矢量模型的表达源于原型空间实体本身 xff0c 通常以坐标来定
  • ROS简介-从零开始讲解ROS(适合超零基础阅读)

    1 前言 笔者以前是机械专业 xff0c 对于计算机方面的学习是少之又少 xff0c 接触机器人的学习之后 xff0c 比如路径规划 算法等 xff0c 发现很难入门 xff0c 不过慢慢摸爬滚打之后还是有了一些认识 xff0c 俗话说的好
  • C++primer plus第六版课后编程练习答案14.1

    include lt iostream gt include lt string gt using namespace std template lt class T1 class T2 gt class Pair private T1 a
  • 区块链——脱坑truffle

    使用truffle构建一个智能合约 实现输出 helloworld 的功能 网上有很多帖子 但也有很多坑 这里展示我的搭建过程 帮助大家绕过那些麻烦 一 安装web3 solc truffle npm g install solc npm
  • ucosii消息队列使用

    ucosii消息队列简介 ucosii的消息队列源码定义在os q c文件 xff1b 接口全部声明在ucos ii h xff0c 总共有如下接口 xff1a span class token keyword void span span
  • rtthrea-ucosii-freertos三系统学习总结

    三系统基本功能对比 RT thread ucosii freertos 任务调度 抢占式 时间片式 xff08 多级队列位图调度 xff09 抢占式 xff08 纯位图调度 xff09 抢占式 时间片式 xff08 遍历列表调度 xff09
  • VScode的git安装与配置

    git下载与安装 1 在官网下载git的最新版本 2 按照提示一步步安装完成 具体步骤参看以下文章 xff1a 转https blog csdn net qq 40342589 article details 105676715 VScod
  • 将python代码封装成c版本的dll动态链接库

    前言 将python程序打包成DLL文件 xff0c 然后用C 43 43 调用生成的DLL文件 xff0c 这是一种用C 43 43 调用python的方法 xff0c 这一块比较容易遇到坑 网上关于这一块的教程不是很多 xff0c 而且
  • gazebo加载异常或者加载缓慢

    在我们安装完ros的时候会在命令行里运行gazebo命令会打开gazebo一个空白世界 xff0c 往往会卡在如图所示的界面 xff1a 这是模型文件加载缓慢需要很长时间 xff0c 这是在ubuntu16 04下的情况 xff0c 在ub
  • FreeRTOS学习笔记二【源码文件介绍及命名规范】

    FreeRTOS学习笔记二 源码文件介绍及命名规范 源码文件介绍源码中的命名规范两个重要数据类型变量名函数名宏名 参考 本文介绍源码中的命名规范 xff0c 下篇开始介绍FreeRTOS中的任务管理 源码文件介绍 Free RTOS源码中包
  • FreeRTOS学习笔记八【队列-下】

    FreeRTOS学习笔记八 队列 下 队列中传输大数据 一个包 或大小可变的数据传输大数据传输不同类型和长度的数据 从多个队列中获取数据队列集合xQueueCreateSet xQueueAddToSet xQueueSelectFromS
  • 软件mongodbmanager.exe 在打开数据库Collection时报错

    The GuidRepresentation for the reader is CSharpLegacy which requires the binary sub type to be UuidLegacy not UuidStanda
  • CMakeList.txt使用指南

    cmake minimum required 设置所需的最低cmake版本 cmake minimum required VERSION major minor patch tweak FATAL ERROR execute process
  • 初入机器学习之——朴素贝叶斯分类器NBC及Python代码剖析

    初入机器学习之 朴素贝叶斯分类器NBC NBC模型的理论基础一 参数释义二 Training阶段模型所需参数三 Predict阶段四 代码剖析trainingpredicting NBC模型的理论基础 理论基础 xff1a 贝叶斯公式 P
  • 1秒学会 Vim 插件管理

    Vim pathogen 通常情况下安装vim插件 xff0c 通常是将所有的插件和相关的doc文件都安装在中一文件夹中 xff0c 如将插件全部安装在 usr share vim vim73 plugin 目录下 xff0c 将帮助文档全
  • 使用docker-compose在启动mysql容器时新建一个mysql用户并赋予其权限

    使用docker compose在启动mysql容器时新建一个mysql用户并赋予其权限 先来看看启动文件 span class token comment 原始的yml文件 xff0c 只创建了一个wordpress user用户 spa
  • Google Cloud Platform设置centos ssh登录

    Google Cloud Platform设置centos ssh登录 Google Cloud Platform设置centos ssh登录1 创建centos实例2 切换到root编辑ssh配置文件3 修改以下内容4 查看状态5 重启服
  • Apple M1 安装PhpStorm解释器

    执行以下命令 bin bash c span class token string 34 span class token variable span class token variable span span class token f
  • PyCharm本地连接远程conda虚拟环境(Ubuntu+TensorFlow+Cuda)进行代码调试+Jupyter测试

    目录 PyCharm本地连接远程conda虚拟环境 TensorFlow 进行代码调试说明1 GCP创建Ubuntu 43 选择GPU2 示例并远程连接2 安装miniconda 43 创建新虚拟环境3 在新虚拟环境中安装tensorflo