簡體   English   中英

Tensorflow.js Model 尺寸不匹配

[英]Tensorflow.js Model Dimension Mismatch

我是 tensoflow.js 的新手,我在創建 CNN 模型時遇到問題,因為尺寸不匹配。 我有一個使用tf.browser.fromPixels(image); .

但是當我試圖訓練我的ai時它不會啟動,並且我收到消息: Uncaught (in promise) Error: Error when checking target: expected dense_Dense2 to have shape [6,6,4], but got array with shape [6,6,3].

這是完整的代碼:

image = new Image(32, 32);
data = tf.browser.fromPixels(image); //to get pixel array

model = tf.sequential();
encoder = tf.layers.dense({units: 4, batchInputShape:[6, 6, 3], activation: 'relu', kernelInitializer:"randomNormal", biasInitializer:"ones"});
decoder = tf.layers.dense({units: 4, activation: 'relu'});
model.add(encoder);
model.add(decoder);
model.compile({loss:'meanSquaredError', optimizer:tf.train.adam()});

async function botTraining(model, epochs = 60){ //train ai 60 epochs
    history = 
    await model.fit(data, data,{ epochs: epochs + 1,
        callbacks:{
            onEpochEnd: async(epoch, logs) =>{
                console.log("Epoch:" + epoch + " Loss:" + logs.loss);
            }
        }
    });
}

好的,這是我的代碼:

image = new Image(32, 32);
data = tf.browser.fromPixels(image); //to get pixel array

model = tf.sequential();
encoder = tf.layers.dense({units: 4, batchInputShape:[6, 6, 3], activation: 'relu', kernelInitializer:"randomNormal", biasInitializer:"ones"});
decoder = tf.layers.dense({units: 4, activation: 'relu'});
model.add(encoder);
model.add(decoder);
model.compile({loss:'meanSquaredError', optimizer:tf.train.adam()});

async function botTraining(model, epochs = 60){ //train ai 60 epochs
    history = 
    await model.fit(data, data,{ epochs: epochs + 1,
        callbacks:{
            onEpochEnd: async(epoch, logs) =>{
                console.log("Epoch:" + epoch + " Loss:" + logs.loss);
            }
        }
    });
}

我發現我的“ bachInputSize ”需要設置為與decoder單元相同

這是固定代碼:

image = new Image(4, 4);
data = tf.browser.fromPixels(image);

model = tf.sequential();
encoder = tf.layers.dense({units: 3, batchInputShape:[null, null, 3], activation: 'relu', kernelInitializer:"randomNormal", biasInitializer:"ones"});
decoder = tf.layers.dense({units: 3, activation: 'relu'});
model.add(encoder);
model.add(decoder);
model.compile({loss:'meanSquaredError', optimizer:tf.train.adam()});

async function botTraining(model, epochs = 60){
    history = 
    await model.fit(data, data,{ epochs: epochs + 1,
        callbacks:{
            onEpochEnd: async(epoch, logs) =>{
                console.log("Epoch:" + epoch + " Loss:" + logs.loss);
            }
        }
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM