ckcl commited on
Commit
6ba557b
1 Parent(s): d5c7569

Create CN_README.md

Browse files
Files changed (1) hide show
  1. CN_README.md +81 -0
CN_README.md ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 用于 MEXC 价格预测的自定义 Transformer 模型
2
+
3
+ ## 模型描述
4
+
5
+ 此模型是用于预测 MEXC 合约价格的自定义 Transformer 模型。它由一个嵌入层、后面是多个 Transformer 编码器层以及末尾的全连接层组成,以产生输出。
6
+
7
+ ## 模型架构
8
+
9
+ - **输入维度:** 13
10
+ - **模型维度:** 64
11
+ - **头部数量:** 8
12
+ - **层数:** 2
13
+ - **输出维度:** 1
14
+
15
+ ## 训练数据
16
+
17
+ 该模型基于历史 MEXC 合约交易数据进行训练。特征包括开盘价、收盘价、最高价、最低价、交易量、金额、实际开盘价、实际收盘价、实际最高价、实际最低价和移动平均线。
18
+
19
+ ## 训练细节
20
+
21
+ - **优化器**:Adam
22
+ - **学习率**:0.001
23
+ - **损失函数**:均方误差 (MSE)
24
+ - **批次大小**:32
25
+ - **周期数**:50
26
+
27
+ ## 用法
28
+
29
+ 要使用此模型进行预测,请按照以下步骤操作:
30
+
31
+ 1. 加载模型和配置:
32
+
33
+ ```python
34
+ import torch
35
+ import torch.nn as nn
36
+ from transformers import AutoConfig
37
+
38
+ class CustomTransformerModel(nn.Module):
39
+ def __init__(self, config):
40
+ super(CustomTransformerModel, self).__init__()
41
+ self.embedding = nn.Linear(config.input_dim, config.model_dim)
42
+ self.encoder_layer = nn.TransformerEncoderLayer(d_model=config.model_dim, nhead=config.num_heads, batch_first=True)
43
+ self.transformer_encoder = nn.TransformerEncoder(self.encoder_layer, num_layers=config.num_layers)
44
+ self.fc = nn.Linear(config.model_dim, config.output_dim)
45
+
46
+ def forward(self, src):
47
+ src = self.embedding(src)
48
+ output = self.transformer_encoder(src)
49
+ output = self.fc(output[:, -1, :])
50
+ return output
51
+
52
+ config = AutoConfig.from_pretrained("your-username/mexc_price_model", config_file_name="BTC_USDT.json")
53
+ model = CustomTransformerModel(config)
54
+ model.load_state_dict(torch.load("model_repo/mexc_price.pth"))
55
+ model.eval()
56
+ ```
57
+
58
+ 2. 准备输入数据并进行预测:
59
+
60
+ ```python
61
+ import numpy 作为 np
62
+ 从 sklearn.preprocessing 导入 StandardScaler
63
+
64
+ new_data = np.array([
65
+ [1.727087e+09, 63483.9, 63426.2, 63483.9, 63411.6, 1193897.0, 7.575486e+06, 63483.8, 63426.2, 63483.9, 63411.6, 0.00, 0.0, 0.0]
66
+ ])
67
+
68
+ scaler = StandardScaler()
69
+ new_data_scaled = scaler.fit_transform(new_data)
70
+ input_tensor = torch.tensor(new_data_scaled, dtype=torch.float32).unsqueeze(1)
71
+
72
+ 使用 torch.no_grad():
73
+ prediction = model(input_tensor)
74
+
75
+ predicted_value = prediction.squeeze().item()
76
+ print(f"预测值:{predicted_value}")
77
+ ```
78
+
79
+ ## 许可证
80
+
81
+ 此模型根据 [MIT 许可证](LICENSE) 获得许可。