xxxxxxxxxx
model = tf.sequential();
//model.add(tf.layers.conv2d());
model.add(tf.layers.flatten({ inputShape: [224, 224, 3] }));
model.add(tf.layers.dense({ units: 64, activation: 'relu' }));
model.add(tf.layers.dropout({ rate: 0.2 }));
model.add(tf.layers.dense({ units: 1, activation: 'sigmoid' }));
model.compile({ optimizer: 'adam', loss: 'binaryCrossentropy', metrics: ['accuracy'] });
const orangutanImg = new Image();
orangutanImg.src = "/images/orangutan.jpg";
const loadOrangutanImg = new Promise(resolve => {
orangutanImg.onload = () => {
const orangutanTensor = tf.browser.fromPixels(orangutanImg).resizeNearestNeighbor([224, 224]).expandDims();
resolve(orangutanTensor);
};
});
const notOrangutanImg = new Image();
notOrangutanImg.src = "/images/notOrangutan.jpg";
const loadNotOrangutanImg = new Promise(resolve => {
notOrangutanImg.onload = () => {
const notOrangutanTensor = tf.browser.fromPixels(notOrangutanImg).resizeNearestNeighbor([224, 224]).expandDims();
resolve(notOrangutanTensor);
};
});
Promise.all([loadOrangutanImg, loadNotOrangutanImg]).then(([orangutanTensor, notOrangutanTensor]) => {
console.log(orangutanTensor);
console.log(notOrangutanTensor);
xxxxxxxxxx
const model = tf.sequential();
model.add(tf.layers.flatten({ inputShape: [224, 224, 3] }));
model.add(tf.layers.dense({ units: 64, activation: 'relu' }));
model.add(tf.layers.dropout({ rate: 0.2 }));
model.add(tf.layers.dense({ units: 1, activation: 'sigmoid' }));
// Compile the model
model.compile({ optimizer: 'adam', loss: 'binaryCrossentropy', metrics: ['accuracy'] });
// Load the training data
const dogImage = new Image();
dogImage.src = 'dog.jpg';
const dogTensor = tf.browser.fromPixels(dogImage).resizeNearestNeighbor([224, 224]).expandDims();
const dogLabels = tf.ones([100, 1]);
const notDogImage = new Image();
notDogImage.src = 'notDog.jpg';
const notDogTensor = tf.browser.fromPixels(notDogImage).resizeNearestNeighbor([224, 224]).expandDims();
const notDogLabels = tf.zeros([100, 1]);
const xTrain = tf.concat([dogTensor, notDogTensor], 0);
const yTrain = tf.concat([dogLabels, notDogLabels], 0);
// Train the model
model.fit(xTrain, yTrain, { epochs: 10 }).then(() => {
console.log('Training complete!');
});