You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Keras模型与StandardScaler保存为TensorFlowJS格式

保存Keras模型与StandardScaler至TensorFlowJS格式

要同时保存模型和StandardScaler,你可以按以下步骤操作:

1. 保存StandardScaler的归一化参数

StandardScaler的核心是训练得到的均值(mean_)和缩放系数(scale_),你可以把这两个参数提取出来存成JSON文件(方便Node.js直接读取):

import json

# 提取scaler的关键参数
scaler_params = {
    "mean": scaler.mean_.tolist(),
    "scale": scaler.scale_.tolist()
}

# 保存到模型目录下的JSON文件
with open(f"{tfjs_target_dir}/scaler_params.json", "w") as f:
    json.dump(scaler_params, f)

如果想用pickle保存整个scaler对象也可以,但Node.js读取pickle需要额外依赖,JSON方案更轻便。

2. 保存Keras模型为TFJS格式

这部分你已经掌握,执行以下代码即可:

import tensorflowjs as tfjs

tfjs.converters.save_keras_model(model_00, tfjs_target_dir)

执行后,tfjs_target_dir目录下会同时包含TFJS模型文件和刚才的scaler_params.json。

3. 在Node.js中加载模型与Scaler参数

在Node.js环境中,用@tensorflow/tfjs-node加载模型,再手动实现StandardScaler的归一化逻辑:

const tf = require('@tensorflow/tfjs-node');
const fs = require('fs');

// 加载模型和scaler参数
async function loadModelAndScaler(modelDir) {
    // 加载TFJS模型
    const model = await tf.loadLayersModel(`file://${modelDir}/model.json`);
    
    // 读取scaler参数
    const scalerParams = JSON.parse(fs.readFileSync(`${modelDir}/scaler_params.json`, 'utf8'));
    
    // 定义归一化函数,模拟StandardScaler的transform逻辑
    function scaleInput(inputData) {
        return tf.tidy(() => {
            const inputTensor = tf.tensor2d(inputData);
            const mean = tf.tensor1d(scalerParams.mean);
            const scale = tf.tensor1d(scalerParams.scale);
            return inputTensor.sub(mean).div(scale);
        });
    }
    
    return { model, scaleInput };
}

// 预测示例
async function runPrediction() {
    const { model, scaleInput } = await loadModelAndScaler('./path/to/your/tfjs_model');
    // inputData需和训练时的输入格式一致
    const inputData = [[1.2, 3.4, 5.6]];
    const scaledInput = scaleInput(inputData);
    const prediction = await model.predict(scaledInput).data();
    console.log('预测结果:', prediction);
}

runPrediction();

内容的提问来源于stack exchange,提问作者Ted Mosby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 09:17:11