MJ106 commited on
Commit
6774c33
1 Parent(s): 7f9bd64

Update mobilevit.html

Browse files
Files changed (1) hide show
  1. mobilevit.html +10 -2
mobilevit.html CHANGED
@@ -8,6 +8,8 @@
8
  <script type="module">
9
  // 허깅페이스의 pipeline 모듈을 import하십시오.
10
  // To-Do: ???
 
 
11
  // Make it available globally
12
  window.pipeline = pipeline;
13
  </script>
@@ -112,7 +114,8 @@
112
  // Initialize the sentiment analysis model
113
  async function initializeModel() {
114
  // pipeline 함수를 이용하여 Xenova/mobilevit-small 모델의 인스턴스를 생성하여 이를 classifier에 저정하십시오. 인스턴스 생성 시 quantized 파라미터의 값을 false로 설정하십시오.
115
- // To-Do: ???
 
116
  }
117
  async function classifyImage() {
118
  const textFieldValue = document.getElementById("imageClassificationURLText").value.trim();
@@ -122,7 +125,7 @@
122
  async function classifyImageLocal() {
123
  // HTML DOM의 element Id가 imageClassificationLocalFile인 element의 값을 fileInput으로 저장하십시오.
124
  // To-Do: const fileInput = ???
125
-
126
  const file = fileInput.files[0];
127
  if (!file) {
128
  alert('Please select an image file first.');
@@ -132,12 +135,17 @@
132
  const url = URL.createObjectURL(file);
133
  // classifier에 url을 입력하여 출력된 결과를 result에 저장하십시오.
134
  // To-Do: ???
 
 
135
  document.getElementById("outputAreaLocal").innerText = JSON.stringify(result, null, 2);
136
  }
137
  async function classifyTopImage() {
138
  const textFieldValue = document.getElementById("imageClassificationTopURLText").value.trim();
139
  // classifier에 textFieldValue를 입력 변수로, topk 파라미터 값을 3으로 설정하여 classifer를 수행하고 그 결과를 result에 저장하십시오.
140
  // To-Do: ???
 
 
 
141
  document.getElementById("outputAreaTop").innerText = JSON.stringify(result, null, 2);
142
  }
143
  // Initialize the model after the DOM is completely loaded
 
8
  <script type="module">
9
  // 허깅페이스의 pipeline 모듈을 import하십시오.
10
  // To-Do: ???
11
+ import { pipeline } from 'https://cdn.jsdelivr.net/npm/@xenova/[email protected]';
12
+
13
  // Make it available globally
14
  window.pipeline = pipeline;
15
  </script>
 
114
  // Initialize the sentiment analysis model
115
  async function initializeModel() {
116
  // pipeline 함수를 이용하여 Xenova/mobilevit-small 모델의 인스턴스를 생성하여 이를 classifier에 저정하십시오. 인스턴스 생성 시 quantized 파라미터의 값을 false로 설정하십시오.
117
+ classifier = await pipeline('image-classification', 'Xenova/mobilevit-small', { quantized: false });
118
+
119
  }
120
  async function classifyImage() {
121
  const textFieldValue = document.getElementById("imageClassificationURLText").value.trim();
 
125
  async function classifyImageLocal() {
126
  // HTML DOM의 element Id가 imageClassificationLocalFile인 element의 값을 fileInput으로 저장하십시오.
127
  // To-Do: const fileInput = ???
128
+ const fileInput = document.getElementById("imageClassificationLocalFile");
129
  const file = fileInput.files[0];
130
  if (!file) {
131
  alert('Please select an image file first.');
 
135
  const url = URL.createObjectURL(file);
136
  // classifier에 url을 입력하여 출력된 결과를 result에 저장하십시오.
137
  // To-Do: ???
138
+ const labels = document.getElementById("labelsLocalText").value.trim().split(",").map(item => item.trim());
139
+ const result = await classifier(url, labels);
140
  document.getElementById("outputAreaLocal").innerText = JSON.stringify(result, null, 2);
141
  }
142
  async function classifyTopImage() {
143
  const textFieldValue = document.getElementById("imageClassificationTopURLText").value.trim();
144
  // classifier에 textFieldValue를 입력 변수로, topk 파라미터 값을 3으로 설정하여 classifer를 수행하고 그 결과를 result에 저장하십시오.
145
  // To-Do: ???
146
+ const labels = document.getElementById("labelsText").value.trim().split(",").map(item => item.trim());
147
+ const result = await classifier(textFieldValue, { topk: 3 });
148
+
149
  document.getElementById("outputAreaTop").innerText = JSON.stringify(result, null, 2);
150
  }
151
  // Initialize the model after the DOM is completely loaded