当前位置: 首页 > article >正文

书生大模型实战营(2)——函数实现+Vscode连接InternStudio debug笔记

第二关任务:

任务一:请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。

任务二:请使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记(需要截图)。

1、基础知识

这里需要了解Python和debug,可以查看文档学习。

2、使用vscode连接开发机进行python debug

VScode连接开发机可以去看上一篇书生大模型实战营(1)——InterStudio基础知识+Vscode SSH连接远程服务器+Linux基础指令

点击插件,可以看到本地和开发机上的插件,如果开发机没有安装python插件,点击安装:

单击vscode页面下方有一个X和!的位置可以快速打开vscode的控制台,然后进入TERMINAL。

TIPS右上方的+可以新建一个TERMINAL。

2.1debug单个python文件

首先新建文件夹,写一个简单的python程序来做debug演示。

启动debug:

当代码在断点处停下来时,你可以查看和修改变量的值。在“Run and Debug”侧边栏的“Variables”(变量)部分,你可以看到当前作用域内的所有变量及其值。

单步执行代码

从左到右一次是;

  • 1: continue: 继续运行到下一个断点

  • 2: step over:跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。

  • 3: step into: 进入函数或者方法。如果当行代码存在函数或者方法时,进入代码该函数或者方法。如果当行代码没有函数或者方法,则等价于step over。

  • 4: step out:退出函数或者方法, 返回上一层。

  • 5: restart:重新启动debug

  • 6: stop:终止debug

改动代码后运行:

2.2在vscode使用命令行进行debug

当py文件有很多参数和复杂文件关系时,直接使用命令行来发起debug会是一个更好的选择。

vscode支持通过remote的方法连我们在命令行中发起的debug server。首先我们要配置一下debug的config。

首先我们要配置一下debug的config。

还是点击VSCode侧边栏的“Run and Debug”(运行和调试),单击"create a lauch.json file"

选择debugger时选择python debuger。选择debug config时选择remote attach就行,随后会让我们选择debug server的地址,因为我们是在本地debug,所以全都保持默认直接回车就可以了,也就是我们的server地址为localhost:5678。

debug命令行

现在vscode已经准备就绪,让我们来看看如何在命令行中发起debug。如果没有安装debugpy的话可以先通过pip install debugpy安装一下。

python -m debugpy --listen 5678 --wait-for-client ./myscript.py
  • ./myscript.py可以替换为我们想要debug的python文件,后面可以和直接在命令行中启动python一样跟上输入的参数。记得要先在想要debug的python文件打好断点并保存。

  • --wait-for-client参数会让我们的debug server在等客户端连入后才开始运行debug。在这就是要等到我们在run and debug界面启动debug。

先在终端中发起debug server,然后再去vscode debug页面单击一下绿色箭头开启debug。

2.3对word_count.py文件进行debug 

  • 创建文件

根据任务写函数word_count.py文件

import string

def wordcount(text):
    punctuations = string.punctuation
    for punct in punctuations:
        text = text.replace(punct, '')
    words = text.lower().split()
    count_dict = {}
    for word in words:
        if word in count_dict:
            count_dict[word] += 1
        else:
            count_dict[word] = 1
    return count_dict

text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""
print(wordcount(text))

重复上面步骤

程序结果:


http://www.kler.cn/news/285030.html

相关文章:

  • jmeter的聚合报告生成测试报告的方法(生成.HTML模式)
  • Linux进程基本介绍,ps指令详解
  • CSS 的object-position属性
  • python模块和包的区别有哪些
  • 解决TESSY导入测试用例后出现提示接口有改变的问题
  • 2024年软考科目大调整:考试安排、频次变动全解析
  • EasyCVR中的H.265技术:助力实现大规模高效流畅的视频监控应用
  • docker run的--shm-size是干嘛用的
  • ws2812b效果研究之八 pride2015
  • BIRTV2024圆满落幕,中科极光9万流明点亮观影新体验
  • 【详细教程】分享6款AI论文创作工具!一键毕业论文轻松生成,
  • HTML 中 a 超链接标签全解析:属性、锚点与伪类
  • vue+moment转化日期格式为年月日时分秒!最简洁版
  • 怎样通过bs4找出程序中 标签<div class=“List2“>中所有的<li>的内容?
  • 前端如何在30秒内实现吸管拾色器?
  • Golang | Leetcode Golang题解之第386题字典序排数
  • 合并多个rtf文件
  • 从零开始学习SLAM六(单应矩阵)
  • 探索视觉的边界:PyTorch与TorchVision的深度融合
  • zabbix4.0 实现钉钉告警
  • [ABC001A] 積雪深差
  • [服务器_1]rpc框架收集
  • 如何五分钟使用 Cocos Creator 快速部署 TON 游戏(第一部分)
  • Docker容器技术(下)超多好上手的实验,保姆级教程
  • 【时间盒子】-【1.序言】高效人士都在用的时间管理方法。我是如何通过鸿蒙元服务APP实现?
  • 深度学习第一周周报
  • Sobel算子,Scharr算子和Laplacian算子
  • 如何利用 Go 语言开发高性能服务
  • Fetch API 的基本使用
  • 探索JSON Schema的世界