Update code.txt
Browse files
code.txt
CHANGED
|
@@ -144,6 +144,7 @@ for i, label in enumerate(label_names):
|
|
| 144 |
|
| 145 |
import React, { useState, useEffect } from "react";
|
| 146 |
import * as tflite from "@tensorflow/tfjs-tflite";
|
|
|
|
| 147 |
|
| 148 |
function ObjectDetector() {
|
| 149 |
const [model, setModel] = useState(null);
|
|
@@ -174,13 +175,29 @@ function ObjectDetector() {
|
|
| 174 |
|
| 175 |
const imageElement = document.getElementById("inputImage");
|
| 176 |
|
| 177 |
-
//
|
| 178 |
-
const
|
| 179 |
-
const output = await model.predict(input); // Run inference
|
| 180 |
|
| 181 |
-
//
|
| 182 |
-
|
| 183 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 184 |
};
|
| 185 |
|
| 186 |
return (
|
|
@@ -220,4 +237,5 @@ function ObjectDetector() {
|
|
| 220 |
}
|
| 221 |
|
| 222 |
export default ObjectDetector;
|
|
|
|
| 223 |
|
|
|
|
| 144 |
|
| 145 |
import React, { useState, useEffect } from "react";
|
| 146 |
import * as tflite from "@tensorflow/tfjs-tflite";
|
| 147 |
+
import * as tf from "@tensorflow/tfjs";
|
| 148 |
|
| 149 |
function ObjectDetector() {
|
| 150 |
const [model, setModel] = useState(null);
|
|
|
|
| 175 |
|
| 176 |
const imageElement = document.getElementById("inputImage");
|
| 177 |
|
| 178 |
+
// Load the image into a tensor
|
| 179 |
+
const inputTensor = preprocessImage(imageElement, [1, 224, 224, 3]); // Adjust this size based on your model's expected input
|
|
|
|
| 180 |
|
| 181 |
+
// Run inference
|
| 182 |
+
const output = await model.predict(inputTensor);
|
| 183 |
+
|
| 184 |
+
// Interpret the results (adjust according to your model's output format)
|
| 185 |
+
const outputData = output.arraySync(); // This converts the Tensor to regular JS array, adjust based on your model's output
|
| 186 |
+
setPredictions(outputData); // Adjust this based on your model's output structure
|
| 187 |
+
|
| 188 |
+
// Clean up the tensor to free memory
|
| 189 |
+
tf.dispose([inputTensor]);
|
| 190 |
+
};
|
| 191 |
+
|
| 192 |
+
// Function to preprocess image (resize, normalize, and convert to tensor)
|
| 193 |
+
const preprocessImage = (image, inputShape) => {
|
| 194 |
+
const tensor = tf.browser.fromPixels(image) // Load image into a tensor
|
| 195 |
+
.resizeNearestNeighbor([inputShape[1], inputShape[2]]) // Resize to model's input shape
|
| 196 |
+
.toFloat()
|
| 197 |
+
.div(tf.scalar(255.0)) // Normalize pixel values to [0, 1]
|
| 198 |
+
.expandDims(); // Add batch dimension (1, 224, 224, 3)
|
| 199 |
+
|
| 200 |
+
return tensor;
|
| 201 |
};
|
| 202 |
|
| 203 |
return (
|
|
|
|
| 237 |
}
|
| 238 |
|
| 239 |
export default ObjectDetector;
|
| 240 |
+
|
| 241 |
|