louiecerv commited on
Commit
59ff5b7
·
verified ·
1 Parent(s): 66e1fbb

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +57 -22
index.html CHANGED
@@ -1,29 +1,64 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
-
4
  <head>
5
- <meta charset="UTF-8" />
6
- <link rel="stylesheet" href="style.css" />
7
-
8
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
- <title>Transformers.js - Object Detection</title>
 
 
 
 
 
 
 
 
 
 
10
  </head>
11
-
12
  <body>
13
- <h1>Object Detection w/ 🤗 Transformers.js</h1>
14
- <label id="container" for="upload">
15
- <svg width="25" height="25" viewBox="0 0 25 25" fill="none" xmlns="http://www.w3.org/2000/svg">
16
- <path fill="#000"
17
- d="M3.5 24.3a3 3 0 0 1-1.9-.8c-.5-.5-.8-1.2-.8-1.9V2.9c0-.7.3-1.3.8-1.9.6-.5 1.2-.7 2-.7h18.6c.7 0 1.3.2 1.9.7.5.6.7 1.2.7 2v18.6c0 .7-.2 1.4-.7 1.9a3 3 0 0 1-2 .8H3.6Zm0-2.7h18.7V2.9H3.5v18.7Zm2.7-2.7h13.3c.3 0 .5 0 .6-.3v-.7l-3.7-5a.6.6 0 0 0-.6-.2c-.2 0-.4 0-.5.3l-3.5 4.6-2.4-3.3a.6.6 0 0 0-.6-.3c-.2 0-.4.1-.5.3l-2.7 3.6c-.1.2-.2.4 0 .7.1.2.3.3.6.3Z">
18
- </path>
19
- </svg>
20
- Click to upload image
21
- <label id="example">(or try example)</label>
22
- </label>
23
- <label id="status">Loading model...</label>
24
- <input id="upload" type="file" accept="image/*" />
25
 
26
- <script src="index.js" type="module"></script>
27
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28
 
29
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <!DOCTYPE html>
2
  <html lang="en">
 
3
  <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Cat vs. Dog Image Classifier</title>
7
+ <script src="https://cdn.jsdelivr.net/npm/@xenova/transformers"></script>
8
+ <style>
9
+ body {
10
+ font-family: Arial, sans-serif;
11
+ text-align: center;
12
+ margin: 50px;
13
+ }
14
+ img {
15
+ max-width: 300px;
16
+ margin: 20px;
17
+ }
18
+ </style>
19
  </head>
 
20
  <body>
21
+ <h1>Cat vs. Dog Image Classifier</h1>
22
+ <input type="file" id="imageUploader" accept="image/*">
23
+ <br>
24
+ <img id="uploadedImage" style="display: none;" />
25
+ <br>
26
+ <button onclick="predictImage()">Predict</button>
27
+ <h2 id="result"></h2>
 
 
 
 
 
28
 
29
+ <script>
30
+ let model;
31
+ async function loadModel() {
32
+ model = await transformers.pipeline('image-classification', 'louiecerv/cats_dogs_recognition_tf_cnn');
33
+ console.log("Model loaded successfully");
34
+ }
35
+ loadModel();
36
+
37
+ document.getElementById('imageUploader').addEventListener('change', function(event) {
38
+ const file = event.target.files[0];
39
+ if (file) {
40
+ const reader = new FileReader();
41
+ reader.onload = function(e) {
42
+ const imgElement = document.getElementById('uploadedImage');
43
+ imgElement.src = e.target.result;
44
+ imgElement.style.display = 'block';
45
+ };
46
+ reader.readAsDataURL(file);
47
+ }
48
+ });
49
 
50
+ async function predictImage() {
51
+ const imgElement = document.getElementById('uploadedImage');
52
+ if (!imgElement.src) {
53
+ alert("Please upload an image first.");
54
+ return;
55
+ }
56
+
57
+ const predictions = await model(imgElement);
58
+ const topPrediction = predictions[0];
59
+
60
+ document.getElementById('result').innerText = `Prediction: ${topPrediction.label} (Confidence: ${(topPrediction.score * 100).toFixed(2)}%)`;
61
+ }
62
+ </script>
63
+ </body>
64
+ </html>