返回模型
说明文档
♟️ Nexus-Nano - CNN 评估模型
<div align="center">
</div>
📖 模型描述
这是一个经过训练的卷积神经网络(CNN),用于评估国际象棋局面。它接受棋盘状态作为输入,输出一个介于 -1(黑方胜)和 +1(白方胜)之间的标量评估分数。
它是 Nexus-Nano 项目的核心"大脑",设计用于在网页浏览器中使用 onnxruntime-web 高效运行。
- 架构: 3层 CNN,带有批归一化和 ReLU 激活函数。
- 框架: 在 PyTorch 中训练,导出为 ONNX(Opset 14)。
- 大小: 约 7.5 MB(针对网页加载高度优化)。
- 训练数据: 来自 Lichess 的 100,000+ 局大师级对局(标准等级分 > 2000 ELO)。
🛠️ 技术规格
输入形状
模型期望一个形状为 (1, 12, 8, 8) 的张量,使用独热编码表示棋盘状态。
- 通道(12):
- 0-5:白方棋子(兵、马、象、车、后、王)
- 6-11:黑方棋子(兵、马、象、车、后、王)
- 维度(8x8): 国际象棋棋盘格子。
输出
- 形状:
(1, 1) - 值: 介于
-1.0和1.0之间的浮点数。> 0:白方优势< 0:黑方优势~ 0:均势/和棋
💻 使用方法(JavaScript / ONNX.js)
此模型设计为通过 onnxruntime-web 在浏览器中直接使用。
import * as ort from 'onnxruntime-web';
// 1. 加载会话
const session = await ort.InferenceSession.create('./chess_model.onnx');
// 2. 准备输入(大小为 12*8*8 的 Float32Array)
// 将 FEN 字符串转换为 12x8x8 独热编码数组
const inputData = new Float32Array(768).fill(0);
// ... (根据棋子位置填充数组)...
const tensor = new ort.Tensor('float32', inputData, [1, 12, 8, 8]);
// 3. 运行推理
const results = await session.run({ board_state: tensor });
const evaluation = results.evaluation.data[0];
console.log(`Position Score: ${evaluation}`);
🧠 训练详情
- 损失函数: 均方误差(MSE)
- 优化器: Adam(学习率=0.001)
- 训练轮次: 50(带早停)
- 目标标签: 归一化的 Stockfish 评估 / 对局结果(胜/负/和)。
⚠️ 许可证与限制
此模型基于 GPL v3(GNU 通用公共许可证第3版) 授权
<div align="center"> <p>由 <a href="https://github.com/GambitFlow">GambitFlow</a> 策划</p> </div>
GambitFlow/Nexus-Nano
作者 GambitFlow
reinforcement-learning
onnx
↓ 0
♥ 0
创建时间: 2025-12-10 08:03:59+00:00
更新时间: 2026-01-08 07:57:27+00:00
在 Hugging Face 上查看文件 (3)
.gitattributes
README.md
nexus_nano.onnx
ONNX