"test1/MANIFEST.in" did not exist on "864af3db34ad271670d46e4cdb2ddbebe429a6a6"
Commit b8fe9eda authored by suily's avatar suily
Browse files

README增加OOM部分

parent 5d3ba8f4
......@@ -12,9 +12,10 @@ TimesFM是一种基于区块的decoder-only的模型,应用了自注意力机
## 算法原理
1、输入层:将时间序列数据分割成相等长度的时序数据块(patch),然后通过残差块对每个时序数据块进行线性变化,进而得到Token。
2、Transformer层:应用了位置编码和自注意力机制。位置编码将时间信息注入Token(令牌)序列;自注意力允许模型学习序列中不同标记之间的依赖关系和关系位置编码介入自注意力的构造意味着模型可以适应数据中不同的时间粒度和频率。
2、Transformer层:应用了位置编码和自注意力机制。位置编码将时间信息注入Token(令牌)序列;自注意力允许模型学习序列中不同标记之间的依赖关系和关系位置编码介入自注意力的构造意味着模型可以适应数据中不同的时间粒度和频率。
3、输出层:使用层归一化和残差连接,将输出Token映射到最终预测。
TimesFM在真实世界的大型时间序列语料库上进行了预训练,可以为未见过的数据集生成可变长度的预测。
<div align=center>
......@@ -23,6 +24,12 @@ TimesFM在真实世界的大型时间序列语料库上进行了预训练,可
## 环境配置
-v 路径、docker_name和imageID根据实际情况修改
```
注意:本仓库中的tensorflow只应用于长期基准测试读取数据集,运行源码发生了OOM错误,目前认为是tf-gpu与jax-gpu的内存分配冲突导致,解决方法:
1、安装tf-gpu,但在timesfm/experiments/long_horizon_benchmarks/data_loader.py中添加:
tf.config.experimental.set_visible_devices([], "GPU")
2、安装tf-cpu
```
### Docker(方法一)
```
docker pull image.sourcefind.cn:5000/dcu/admin/base/jax:0.4.23-ubuntu20.04-dtk24.04-py310
......@@ -30,7 +37,7 @@ docker run -it --network=host --privileged=true --name=docker_name --device=/dev
cd /your_code_path/timesfm
pip install -r requirements.txt
pip install tensorflow-2.13.1+das1.0+git429d21b.abi1.dtk2404-cp310-cp310-manylinux2014_x86_64.whl
pip install tensorflow-2.13.1+das1.0+git429d21b.abi1.dtk2404-cp310-cp310-manylinux2014_x86_64.whl(或 tensorflow-cpu==2.13.1)
```
### Dockerfile(方法二)
```
......@@ -40,7 +47,7 @@ docker run -it --network=host --privileged=true --name=docker_name --device=/dev
cd /your_code_path/timesfm
pip install -r requirements.txt
pip install tensorflow-2.13.1+das1.0+git429d21b.abi1.dtk2404-cp310-cp310-manylinux2014_x86_64.whl
pip install tensorflow-2.13.1+das1.0+git429d21b.abi1.dtk2404-cp310-cp310-manylinux2014_x86_64.whl (或 tensorflow-cpu==2.13.1)
```
### Anaconda(方法三)
1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/
......@@ -48,7 +55,7 @@ pip install tensorflow-2.13.1+das1.0+git429d21b.abi1.dtk2404-cp310-cp310-manylin
DTK软件栈:dtk24.04
python:python3.10
jax:0.4.23
tensorflow:2.13.1
tensorflow:2.13.1 (或 tensorflow-cpu==2.13.1)
```
`Tips:以上dtk软件栈、python、jax等DCU相关工具版本需要严格一一对应`
......@@ -102,22 +109,22 @@ cd timesfm
git clone https://hf-mirror.com/google/timesfm-1.0-200m model
2、通过huggingface-cli
cd timesfm
export HF_DATASETS_CACHE="/home/suily/timesfm/model"
export HF_DATASETS_CACHE="path/timesfm/model"
export HF_ENDPOINT=https://hf-mirror.com # 设置下载地址
huggingface-cli download --resume-download google/timesfm-1.0-200m --local-dir model
```
推理运行代码:
```
cd timesfm
sh train.sh
# 由于基准测试未直接提供调用数据集的接口,须在代码内部手动进行更改:
# 修改timesfm/experiments/extended_benchmarks/run_timesfm.py:dataset_names内填入所需数据集name
# 由于基准测试未直接提供调用数据集的接口,须在代码内部手动进行更改:修改timesfm/experiments/extended_benchmarks/run_timesfm.py:dataset_names内填入所需数据集name
```
## result
此处填算法效果测试图(包括输入、输出)
<div align=center>
<!-- <div align=center>
<img src="./doc/xxx.png"/>
</div>
</div> -->
### 精度
k100和A800精度相差不到0.01%
......
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