Python Code Tokenizer

专门针对 Python 代码优化的分词器,基于 GPT-2 tokenizer 训练而成。

模型详情

模型描述

这是一个专门针对 Python 代码优化的分词器,通过在大规模 Python 代码数据集上训练得到,能够更好地理解和处理 Python 语法结构。

  • 基础模型: GPT-2 Tokenizer
  • 模型类型: BPE (Byte Pair Encoding) Tokenizer
  • 语言: Python 代码
  • 词汇表大小: 52,000 tokens
  • 许可证: MIT
  • 训练数据: CodeParrot Clean Dataset

模型来源

  • 基础分词器: openai-community/gpt2
  • 训练数据集: codeparrot/codeparrot-clean

使用方法

快速开始

from transformers import AutoTokenizer

# 加载分词器
tokenizer = AutoTokenizer.from_pretrained("your-username/code-search-net-tokenizer")

# 对Python代码进行分词
code = """
def hello_world():
    print("Hello, World!")
    return True
"""

tokens = tokenizer.encode(code)
print(f"Token IDs: {tokens}")

# 解码回原文
decoded = tokenizer.decode(tokens)
print(f"Decoded: {decoded}")

主要特性

  • 优化了对 Python 关键字的处理(def, class, import 等)
  • 更好地处理缩进和代码格式
  • 支持 Python 特有的语法结构
  • 减少了对代码的过度分词

技术细节

训练数据

使用 CodeParrot Clean 数据集,包含清洗后的高质量 Python 代码。

训练过程

  • 训练方法: 增量训练 (train_new_from_iterator)
  • 词汇表大小: 52,000 tokens
  • 批处理大小: 1,000 样本/批次

性能评估

相比原始 GPT-2 分词器,在 Python 代码上的改进:

  • 更少的token数量(平均减少约20%)
  • 更好的代码结构保留
  • 提升下游任务性能

使用限制

  • 主要针对 Python 代码优化,其他编程语言效果可能不佳
  • 不适用于自然语言文本处理
  • 对非ASCII字符支持有限

如何获取帮助

如有问题或建议,请在 GitHub Issues 中提出。

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support