Commit 69dcb844 authored by suily's avatar suily
Browse files

第一次写入README

parent 40d49fc2
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
`A decoder-only foundation model for time-series forecasting` `A decoder-only foundation model for time-series forecasting`
- https://arxiv.org/abs/2310.10688 - https://arxiv.org/abs/2310.10688
## 模型结构 ## 模型结构
TimesFM是一种基于区块的decoder-only的模型,基于自注意力机制和传统的位置编码,主要由三个主要组件组成:输入层、Transformer层和输出层 TimesFM是一种基于区块的decoder-only的模型,基于自注意力机制和传统的位置编码,主要由三个组件组成:输入层、Transformer层和输出层
<div align=center> <div align=center>
<img src="./doc/timesfm.png"/> <img src="./doc/timesfm.png"/>
</div> </div>
## 算法原理 ## 算法原理
输入层:将时间序列数据分割成相等长度的时序数据块(patch),然后通过残差块对每个时序数据块进行线性变化,进而得到Token。 1、输入层:将时间序列数据分割成相等长度的时序数据块(patch),然后通过残差块对每个时序数据块进行线性变化,进而得到Token。
Transformer层:应用了位置编码和自注意力机制。位置编码将时间信息注入Token(令牌)序列;自注意力允许模型学习序列中不同标记之间的依赖关系和关系:位置编码介入自注意力的构造意味着模型可以适应数据中不同的时间粒度和频率。 2、Transformer层:应用了位置编码和自注意力机制。位置编码将时间信息注入Token(令牌)序列;自注意力允许模型学习序列中不同标记之间的依赖关系和关系:位置编码介入自注意力的构造意味着模型可以适应数据中不同的时间粒度和频率。
输出层:使用层归一化和残差连接,将输出Token映射到最终预测。 3、输出层:使用层归一化和残差连接,将输出Token映射到最终预测。
TimesFM在真实世界的大型时间序列语料库上进行了预训练,可以为未见过的数据集生成可变长度的预测。 TimesFM在真实世界的大型时间序列语料库上进行了预训练,可以为未见过的数据集生成可变长度的预测。
<div align=center> <div align=center>
...@@ -94,7 +94,7 @@ DATA_DICT = { ...@@ -94,7 +94,7 @@ DATA_DICT = {
检查点可通过以下方式进行下载: 检查点可通过以下方式进行下载:
-https://hf-mirror.com/google/timesfm-1.0-200m -https://hf-mirror.com/google/timesfm-1.0-200m
``` ```
# "model"是自定义目录,可自订 # "model"是存储目录,可自订
1、通过git 1、通过git
cd timesfm cd timesfm
git clone https://hf-mirror.com/google/timesfm-1.0-200m model git clone https://hf-mirror.com/google/timesfm-1.0-200m model
...@@ -104,10 +104,11 @@ export HF_DATASETS_CACHE="/home/suily/timesfm/model" ...@@ -104,10 +104,11 @@ export HF_DATASETS_CACHE="/home/suily/timesfm/model"
export HF_ENDPOINT=https://hf-mirror.com # 设置下载地址 export HF_ENDPOINT=https://hf-mirror.com # 设置下载地址
huggingface-cli download --resume-download google/timesfm-1.0-200m --local-dir model huggingface-cli download --resume-download google/timesfm-1.0-200m --local-dir model
``` ```
推理运行代码:
``` ```
sh train.sh sh train.sh
# 由于基准测试未直接提供调用数据集的接口,须在代码内部手动进行更改: # 由于基准测试未直接提供调用数据集的接口,须在代码内部手动进行更改:
# 修改timesfm/experiments/extended_benchmarks/run_timesfm.py:dataset_names内填入所需数据集name # 修改timesfm/experiments/extended_benchmarks/run_timesfm.pydataset_names内填入所需数据集name
``` ```
## result ## result
此处填算法效果测试图(包括输入、输出) 此处填算法效果测试图(包括输入、输出)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment