书生.浦江大模型实战训练营——(二)Wordcount实现+Vscode连接远程服务器Debug

最近在学习书生.浦江大模型实战训练营,所有课程都免费,以关卡的形式学习,也比较有意思,提供免费的算力实战,真的很不错(无广 )!欢迎大家一起学习,打开LLM探索大门:邀请连接PS,邀请有算力哈哈

文章目录

一、Wordcount实现

1.任务一

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

input:

python 复制代码
"""Hello world!  
This is an example.  
Word count is fun.  
Is it fun to count words?  
Yes, it is fun!"""

output:

python 复制代码
{'hello': 1, 'world': 1, 'this': 1, 'is': 4, 'an': 1, 'example': 1, 'word': 1, 'count': 2,
'fun': 3, 'it': 2, 'to': 1, 'words': 1, 'yes': 1}

TIPS:记得先去掉标点符号,然后把每个单词转换成小写。不需要考虑特别多的标点符号,只需要考虑实例输入中存在的就可以。

代码实现:

python 复制代码
import re  
from collections import defaultdict

def wordcount(text):  
    # 使用正则表达式去掉标点符号,并将文本转换为小写  
    cleaned_text = re.sub(r'[.,!?;:"]', '', text).lower()  
    
    # 将字符串分割成单词  
    words = cleaned_text.split()  
    
    # 使用defaultdict来统计单词出现次数  
    count = defaultdict(int)  
    
    for word in words:  
        count[word] += 1  
    
    return dict(count)  

# 示例使用  


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.
""" 
result = wordcount(text)  
print(result)

代码测试:

返回结果:

python 复制代码
{'got': 2, 'this': 1, 'panda': 1, 'plush': 1, 'toy': 1, 'for': 3, 'my': 1, "daughter's": 1, 'birthday': 1, 'who': 1, 'loves': 1, 'it': 5, 'and': 3, 'takes': 1, 'everywhere': 1, "it's": 2, 'soft': 1, 'super': 1, 'cute': 1, 'its': 1, 'face': 1, 'has': 1, 'a': 3, 'friendly': 1, 'look': 1, 'bit': 1, 'small': 1, 'what': 1, 'i': 4, 'paid': 1, 'though': 1, 'think': 1, 'there': 1, 'might': 1, 'be': 1, 'other': 1, 'options': 1, 'that': 1, 'are': 1, 'bigger': 1, 'the': 1, 'same': 1, 'price': 1, 'arrived': 1, 'day': 1, 'earlier': 1, 'than': 1, 'expected': 1, 'so': 1, 'to': 2, 'play': 1, 'with': 1, 'myself': 1, 'before': 1, 'gave': 1, 'her': 1}

二、Vscode连接远程服务器Debug

首先根据上面一篇博客,将Vscode连接上远程服务器,将wordcount.py代码同步到远程服务器上,在程序上打上三个断点:

选择左侧的debug按钮,选择运行与调试

即可进入debug界面,debug面板各按钮功能介绍:

  1. continue: 继续运行到下一个断点
  2. step over:跳过,可以理解为运行当前行代码,不进入具体的函数或者方法。
  3. step into: 进入函数或者方法。如果当行代码存在函数或者方法时,进入代码该函数或者方法。如果当行代码没有函数或者方法,则等价于step over。
  4. step out:退出函数或者方法, 返回上一层。
  5. restart:重新启动debug
  6. stop:终止debug

使用VSCode的debug功能来更容易地找到和修复你Python代码中的错误,也可以随时关注变量的变化,当然在每一步print也是一个不错的选择,不过遇到大型项目需要debug时,还是断点的效率更高。

相关推荐
Lkstar13 小时前
A2A协议深度解析|Agent2Agent通信标准,智能体互联网的"HTTP"
人工智能·llm
Darling噜啦啦13 小时前
LLM 分词与向量化:大模型是如何"读懂"文字的?——Tokenization × Embedding 原理与实战
llm
ZzT16 小时前
LLM 编排 vs 多 Agent 编排:拆解 Sakana Fugu
llm·ai编程
柒和远方16 小时前
LLM 的底层语言:从分词到向量化,搞懂 AI 是怎么"读"文字的
llm·agent
把你拉进白名单20 小时前
8.OpenClaw源码解析——三层洋葱重试
人工智能·llm·agent
To_OC1 天前
搞懂 Token 和 Embedding 后,我终于明白大模型是怎么 "读" 文字的
人工智能·llm·agent
Hyyy1 天前
Temperature 与 Top-p:控制模型输出的两个参数
llm·ai编程
Darling噜啦啦2 天前
LLM 无状态本质与上下文工程:从 Prompt 到 Context 的进化——为什么 AI 总是"失忆"?
llm
智泊AI2 天前
AI大模型到底是怎么训练出来的?完整预训练过程一次性讲明白!
llm
嘻嘻仙人2 天前
Python 开发者的性能革命:为什么你应该从 pip 转向 uv?
llm·agent