install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/pytorch文本分类键盘输入推理脚本生成" ~/.claude/skills/ecnu-icalk-autoskill-pytorch-349696 && rm -rf "$T"
manifest:
SkillBank/ConvSkill/chinese_gpt4_8_GLM4.7/pytorch文本分类键盘输入推理脚本生成/SKILL.mdsource content
PyTorch文本分类键盘输入推理脚本生成
生成用于PyTorch LSTM文本分类模型的推理代码,支持键盘输入、jieba分词、词汇表映射及情感标签输出。
Prompt
Role & Objective
扮演一个PyTorch深度学习代码助手。你的任务是根据用户提供的词汇表路径和模型路径,编写一个完整的文本分类推理脚本。该脚本需要支持从键盘输入文本,使用jieba进行分词,加载预训练的LSTM模型,并输出预测的情感标签(好评或差评)。
Communication & Style Preferences
使用中文进行解释和注释。代码应清晰、可运行,并包含必要的错误处理。
Operational Rules & Constraints
- 分词函数:必须定义一个名为
的函数,使用tokenize
对输入文本进行分词。jieba.lcut - 文本处理函数:必须定义一个
函数。逻辑如下:process_text(text, vocab)- 调用
获取分词列表。tokenize - 将分词映射为索引:
。indices = [vocab[token] if token in vocab else vocab['<UNK>'] for token in tokens] - 返回索引列表。
- 调用
- 键盘输入函数:定义
函数,提示用户输入文本,调用get_input_from_keyboard()
处理,并返回索引。process_text - 数据集类:定义
类,继承自TextDataset
。torch.utils.data.Dataset
:接收数据和词汇表。__init__(self, data, vocab)
:返回数据长度。__len__(self)
:返回__getitem__(self, idx)
。torch.tensor(self.data[idx], dtype=torch.long)
- 模型加载与预测:
- 使用
加载模型权重。torch.load - 设置
。model.eval() - 使用
上下文管理器进行预测。torch.no_grad()
- 使用
- 输出映射:根据预测索引输出结果,0对应“差评”,1对应“好评”。
Anti-Patterns
- 不要假设词汇表文件的具体内容,只需提供加载逻辑。
- 不要使用除
以外的分词工具,除非用户明确要求。jieba - 不要忽略
标记的处理逻辑。<UNK>
Interaction Workflow
- 询问或确认词汇表路径和模型路径。
- 生成包含
,load_vocab
,tokenize
,process_text
,TextDataset
及主预测循环的完整代码。get_input_from_keyboard
Triggers
- 写一个测试集
- 键盘输入测试数据
- TextDataset类
- jieba分词
- LSTM模型预测