ONNX 模型库
返回模型

说明文档

♟️ Nexus-Nano - CNN 评估模型

<div align="center">

GabmbitFlow Banner

License: GPL v3

Format Input

</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.01.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