|
--- |
|
license: unknown |
|
--- |
|
|
|
ํ๊น
ํ์ด์ค์์ ๋ฐ์ ์ฌ์ฉํ ์ ์๋๋ก config ํ์ผ์ ๋ง๋ค์์ผ๋ฉฐ, ์ ์๋ํ๋๊ฒ์ ํ์ธํ์ต๋๋ค |
|
๋ก๋งจ์ค ์ค์บ ์์ ์นด๋ฉ๋ผ์ ์ฃผ๋ก ๋น์ถฐ์ง ์ฌ์ง์ ์กฐ์ฌํด ์ง์ด๋ฃ์ด ์ ์ฌ๋ ํ๋จ์ ์ฌ์ฉํ ์ ์๋๋ก ๊ตฌ์ฑํ์ต๋๋ค. |
|
๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์์ต๋๋ค |
|
```python |
|
import tensorflow as tf |
|
import numpy as np |
|
from PIL import Image |
|
import requests |
|
|
|
# CNN ๋ชจ๋ธ ๋ค์ด๋ก๋ ๋ฐ ๋ก๋ |
|
model_url = "https://huggingface.co/gihakkk/CNN_modle/resolve/main/cnn_similarity_model.keras" |
|
model_path = "cnn_similarity_model.keras" |
|
|
|
# ๋ชจ๋ธ ํ์ผ ๋ค์ด๋ก๋ |
|
response = requests.get(model_url) |
|
with open(model_path, "wb") as f: |
|
f.write(response.content) |
|
|
|
# Keras ๋ชจ๋ธ ๋ก๋ |
|
cnn_model = tf.keras.models.load_model(model_path) |
|
|
|
# ์ด๋ฏธ์ง ์ ์ฒ๋ฆฌ ํจ์ |
|
def preprocess_image(image_path): |
|
try: |
|
img = Image.open(image_path).convert('RGB') |
|
img = img.resize((152, 152)) # ๋ชจ๋ธ์ด ์๊ตฌํ๋ ํฌ๊ธฐ |
|
img_array = np.array(img) / 255.0 # ์ด๋ฏธ์ง๋ฅผ 0-1 ์ฌ์ด๋ก ์ ๊ทํ |
|
img_array = np.expand_dims(img_array, axis=0) # ๋ฐฐ์น ์ฐจ์ ์ถ๊ฐ |
|
return img_array |
|
except Exception as e: |
|
print(f"Error processing image: {e}") |
|
return None |
|
|
|
# ์ ์ฌ๋ ์์ธก ํจ์ |
|
def predict_similarity(image_path): |
|
img_array = preprocess_image(image_path) |
|
if img_array is not None: |
|
predictions = cnn_model.predict(img_array) # ๋ชจ๋ธ์ ํตํด ์์ธก |
|
similarity_score = np.mean(predictions) # ์ ์ฌ๋ ์ ์์ ํ๊ท ๊ณ์ฐ |
|
if similarity_score > 0.5: # ์๊ณ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ์ฌ๋ ํ๋จ |
|
return "๋ก๋งจ์ค ์ค์บ ์ด๋ฏธ์ง์
๋๋ค." |
|
else: |
|
return "๋ก๋งจ์ค ์ค์บ ์ด๋ฏธ์ง๊ฐ ์๋๋๋ค." |
|
else: |
|
return "์ด๋ฏธ์ง ์ ์ฒ๋ฆฌ์ ์คํจํ์ต๋๋ค." |
|
|
|
# ํ
์คํธ ์ด๋ฏธ์ง ์์ธก |
|
image_path = r'์ฌ์ง ์์น ์
๋ ฅ' # ํ
์คํธํ ์ด๋ฏธ์ง ๊ฒฝ๋ก |
|
result = predict_similarity(image_path) |
|
print(result) |
|
|
|
|
|
``` |