Vscode进行debug深度学习的python代码

如下图1所示:点击左侧的三角形,然后会出现图1的样子,按照顺序点击1、2对代码进行debug

第一次进行debug的小伙伴会遇到debug找不到安装包的问题,继续往下看。

VSCode远程连接服务器进行深度学习debug找不到安装的包

问题

这是因为直接在vscode的控制台执行的python XXX.py和debugger执行的环境和库不一样,虽然安装了环境,在环境里面也下载了对应的安装包,但是debug时并没有走自定义的环境来运行如下图1所示:
按照箭头顺序进行debug

解决方法!!

图2

我们需要对launch.json文件添加配置pythonpath,如上图的序号4指示。指定执行的python路径,如果不知道当前执行的路径是什么,使用如下命令进行测试:
which python
会显示自己的python运行环境,此时需要将python路径添加到pythonpath即可。
按照上图的序号4所示,添加自己python的执行路径,保存关闭launch.json文件。

Debug结果

debug
debug成功,一直运行到我们打断点的地方;没有问题,可以继续执行下一步。

深度学习为什么用VSCode进行调试???

vscode编译器查看下载包的源码

优点1
目前大多深度学习都是使用pycharm进行调试,但是pycharm无法远程连接服务器(因为ssh需要专业版的pycharm,大家都是使用的社区版本无法通过ssh方式远程连接),vscode可以进行ssh远程连接,不需要专业版pycharm(Vscode不要花钱!!)

优点2:
具备和pycharm的一样的基本功能,比如可以通过ctrl+鼠标点击访问库函数的源码,不过要指明编译器的虚拟环境,和上面的debug一样,见下图:首先按住shift+Ctrl+p,然后会出现下图所示的弹窗,选择自己conda 配置的环境变量即可
shift+ctrl+p显示出弹窗
选择虚拟环境

为什么大语言模型LLM需要在linux环境进行开发?

一、 目前很多开源的RAG框架使用Docker进行部署

什么是Docker?https://www.cnblogs.com/DingyLand/p/yunjisuan_02_.html

Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的运行环境到一个可移植
的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker在容器化技术领域非常流行,它提供了一种便捷的方式来隔离、分发和运行应用程序。
简言之,因为Docker是在Linux系统上运行的,所以要使用Linux操作系统进行开发

Linux相比于Windows的优势?
  1. 开发和编程:
    Linux提供了许多开发工具和编程语言的支持,尤其受到开发者的青睐。
  2. 安全性:
    Linux因其开源特性和多用户设计通常被认为更安全。
  3. 稳定性和性能:
    Linux以其稳定性和高性能而闻名,尤其适合服务器和高性能计算。
  4. 用途:
    Linux常用于服务器、嵌入式系统、桌面计算和科研领域。Linux操作系统通常被推荐用于大模型开发,因为它提供了强大的灵活性、丰富的开源工具、社区支持以及更好的性能调优能力。

二、Doker能在window机器发布吗?

可以,但不推荐!!!

原因:Docker 最初是为 Linux 系统设计的,因为它利用了 Linux 内核的特性来实现容器化。
虽然,Docker 可以在 Windows 操作系统上运行,但出于技术和授权方面的考虑,Docker 在 Windows 上的运行方式与在 Linux 上有所不同,需要借助虚拟化技术或特定的兼容层。

三、Docker compose和Docker之间的区别

Compose 是 Docker 官方的开源项目,负责实现Docker容器集群的快速编排,开源代码在 https://github.com/docker/compose 上。

我们知道使用 Dockerfile 模板文件可以让用户很方便的定义一个单独的应用容器,其实在工作中,经常会碰到需要多个容器相互配合来完成的某项任务情况,例如工作中的web服务容器本身,往往会在后端加上数据库容器,甚至会有负责均衡器。

Compose 就是来做这个事情的,它允许用户通过一个单独的 docker-compose.yml 模板文件(YAML格式)来定义一组相关联的应用容器为一个项目( project )。

Compose的主要特点

1、Compose 中有两个重要的概念:

服务( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。

项目( project ):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 中定义
Compose 项目是由Python编写的,实际上就是调用了Docker服务提供的API来对容器进行管理,因此,只要所在的操作系统的平台支持Docker API,就可以在其上利用Compose来进行编排管理。
2、Compose的用途:
Docker Compose 就是为了简化多容器配置和管理工作而生的,可以简化大量重复的手动工作。

主要区别
  1. 容器管理:Docker直接管理单个容器的生命周期,而Docker Compose管理的是整个应用程序,包括多个容器。
  2. 配置方式:Docker通过命令行参数或Dockerfile来配置容器,Docker Compose使用YAML文件来定义服务、网络和卷。
  3. 使用场景:Docker适用于运行和管理单个容器,Docker Compose适用于需要多个容器协同工作的复杂应用程序。

安装Compose
可以参考官方网站:https://docs.docker.com/compose/install/

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐