You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Trax构建Transformer时触发AttributeError:'list'对象无'rng'属性

解决Trax训练循环的AttributeError: 'list' object has no attribute 'rng'

这个错误的核心原因是:Trax的训练组件(比如Trainer)要求输入的训练数据流必须是Trax官方定义的数据流类型(如Inputs对象或通过trax.data组件构建的数据流),而你传入了普通的Python列表——列表没有Trax数据流所需的rng属性,导致训练循环无法生成随机数进行训练。

具体修复步骤

  1. 停止将数据流转为普通列表
    不要用list()把Trax数据流转成Python列表,这会丢失数据流的核心属性。如果你之前手动转了列表,直接去掉这个操作。

  2. 用trax.data.inputs.Inputs包装自定义数据
    如果你的数据是预处理好的Python列表/NumPy数组,需要用Inputs封装成Trax认可的格式:

    from trax.data.inputs import Inputs
    
    # 假设你的训练数据是 (输入, 标签) 组成的列表
    train_data_list = [(x_train_1, y_train_1), (x_train_2, y_train_2), ...]
    
    # 包装成Inputs对象,注意train_stream是接受rng参数的迭代器生成函数
    train_inputs = Inputs(
        train_stream=lambda rng: iter(train_data_list),
        train_eval_stream=lambda rng: iter(train_data_list),
        eval_stream=None
    )
    
  3. 规范构建Trax数据流流水线
    更推荐直接用Trax的trax.data组件构建端到端的数据流,这样生成的数据流自带rng属性:

    import trax.data
    
    # 示例:从TFDS读取数据+预处理的流水线
    train_data = trax.data.Serial(
        trax.data.TFDS('your_dataset_name', keys=('input', 'label')),  # 读取数据集
        trax.data.Tokenize(vocab_file='your_vocab.txt'),  # 分词
        trax.data.FilterByLength(max_length=512),  # 过滤过长样本
        trax.data.Shuffle(buffer_size=1024),  # 打乱数据
        trax.data.Batch(batch_size=32),  # 批量处理
    )
    
  4. 确保训练器传入正确的数据流
    初始化TrainTask时,把labeled_data参数设为上面的train_inputs或train_data:

    from trax.supervised.training import Trainer, TrainTask
    
    train_task = TrainTask(
        labeled_data=train_inputs,  # 这里传入Trax数据流/Inputs对象
        loss_fn=trax.layers.CrossEntropyLoss(),
        optimizer=trax.optimizers.Adam(learning_rate=0.001)
    )
    
    trainer = Trainer(
        model=your_transformer_model,
        train_task=train_task,
        eval_tasks=[]
    )
    

关键注意点

  • Trax的数据流依赖内置的随机数生成器(rng)来处理打乱、数据增强等操作,普通列表无法提供这个机制。
  • 如果你之前尝试用Inputs转换但失败,检查train_stream是否是一个接受rng参数的函数——Trax会在训练时传入随机数种子,你的函数需要返回对应的数据迭代器。

内容的提问来源于stack exchange,提问作者Palaash Goel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:52:10