TimesFm模块报错:TypeError: TimesFmBase.__init__() got an unexpected keyword argument 'context_len'
TimesFm模块报错:TypeError: TimesFmBase.init() got an unexpected keyword argument 'context_len'
看起来你踩了TimesFm版本迭代导致参数名称变更的坑啦!我来帮你分析解决:
你按照旧版官方示例写的代码里用了context_len这类短命名参数,但当前安装的TimesFm版本中,TimesFmBase类的初始化参数已经更新,不再识别这些旧参数名,所以才会抛出这个错误。
给你几个具体的解决步骤:
- 先确认当前安装的TimesFm版本,在终端里执行:
pip show timesfm - 如果是较新的版本,把参数名改成新版本对应的命名即可,对应关系大概是这样:
context_len→context_lengthhorizon_len→prediction_lengthinput_patch_len→input_patch_lengthoutput_patch_len→output_patch_length
调整后的代码示例:
import pandas as pd import numpy as np import timesfm as tf df = pd.read_csv("file.csv", parse_dates=["Datetime"]) df = df.set_index("Datetime") tfm = tf.TimesFm( context_length=128, prediction_length=5, input_patch_length=32, output_patch_length=128, num_layers=20, model_dims=1280, backend="gpu", ) - 要是不确定参数对应关系,直接在Python环境里执行
help(tf.TimesFm),就能看到这个类的官方参数说明,比找文档还直接。
备注:内容来源于stack exchange,提问作者solocazzimiei
相关产品推荐
相关产品推荐

