andy-wyx commited on
Commit
c160b1e
·
1 Parent(s): cedeb82

add compare resnet model

Browse files
Files changed (2) hide show
  1. app.py +4 -7
  2. inference_resnet_v2.py +2 -4
app.py CHANGED
@@ -18,6 +18,7 @@ import glob
18
  from inference_sam import segmentation_sam
19
  from explanations import explain
20
  from inference_resnet import get_triplet_model
 
21
  from inference_beit import get_triplet_model_beit
22
  import pathlib
23
  import tensorflow as tf
@@ -122,11 +123,7 @@ def get_model(model_name):
122
  model.load_weights('model_classification/fossil-new.h5')
123
  elif model_name == 'Fossils':
124
  n_classes = 142
125
- model = get_triplet_model_beit(input_shape = (384, 384, 3),
126
- embedding_units = 256,
127
- embedding_depth = 2,
128
- n_classes = n_classes)
129
- model.load_weights('model_classification/fossil-model.h5')
130
  else:
131
  raise ValueError(f"Model name '{model_name}' is not recognized")
132
  return model,n_classes
@@ -161,7 +158,7 @@ def classify_image(input_image, model_name):
161
  elif 'Fossils' ==model_name:
162
  from inference_beit import inference_resnet_finer_beit
163
  model,n_classes = get_model(model_name)
164
- result = inference_resnet_finer_beit(input_image,model,size=384,n_classes=n_classes)
165
  return result
166
  return None
167
 
@@ -189,7 +186,7 @@ def get_embeddings(input_image,model_name):
189
  elif 'Fossils' ==model_name:
190
  from inference_beit import inference_resnet_embedding_beit
191
  model,n_classes = get_model(model_name)
192
- result = inference_resnet_embedding_beit(input_image,model,size=384,n_classes=n_classes)
193
  return result
194
  return None
195
 
 
18
  from inference_sam import segmentation_sam
19
  from explanations import explain
20
  from inference_resnet import get_triplet_model
21
+ from inference_resnet_v2 import get_resnet_model,inference_resnet_embedding_v2,inference_resnet_finer_v2
22
  from inference_beit import get_triplet_model_beit
23
  import pathlib
24
  import tensorflow as tf
 
123
  model.load_weights('model_classification/fossil-new.h5')
124
  elif model_name == 'Fossils':
125
  n_classes = 142
126
+ model,_,_ = get_resnet_model('model_classification/fossil-model.h5')
 
 
 
 
127
  else:
128
  raise ValueError(f"Model name '{model_name}' is not recognized")
129
  return model,n_classes
 
158
  elif 'Fossils' ==model_name:
159
  from inference_beit import inference_resnet_finer_beit
160
  model,n_classes = get_model(model_name)
161
+ result = inference_resnet_finer_v2(input_image,model,size=384,n_classes=n_classes)
162
  return result
163
  return None
164
 
 
186
  elif 'Fossils' ==model_name:
187
  from inference_beit import inference_resnet_embedding_beit
188
  model,n_classes = get_model(model_name)
189
+ result = inference_resnet_embedding_v2(input_image,model,size=384,n_classes=n_classes)
190
  return result
191
  return None
192
 
inference_resnet_v2.py CHANGED
@@ -10,10 +10,8 @@ tf.config.set_visible_devices([], 'GPU')
10
  from keras.applications import resnet
11
  import tensorflow as tf
12
  import keras
13
- import tensorflow.keras.layers as L
14
  import os
15
 
16
- from tensorflow.keras.layers import Dense, GlobalAveragePooling2D
17
  import matplotlib.pyplot as plt
18
  from typing import Tuple
19
  from huggingface_hub import snapshot_download
@@ -51,7 +49,7 @@ def parse_results(top_n,logits):
51
  results[label] = float(logits[n])
52
  return results
53
 
54
- def inference_resnet_embedding(x,model,size=384,n_classes=140,n_top=10):
55
 
56
 
57
  x = tf.image.resize(x, (size, size))
@@ -61,7 +59,7 @@ def inference_resnet_embedding(x,model,size=384,n_classes=140,n_top=10):
61
 
62
  return embedding
63
 
64
- def inference_resnet_finer(x,model,size=384,n_classes=142,n_top=10):
65
 
66
  x = tf.image.resize(x, (size, size))
67
  x = tf.reshape(x, (-1, 384, 384, 3))/255
 
10
  from keras.applications import resnet
11
  import tensorflow as tf
12
  import keras
 
13
  import os
14
 
 
15
  import matplotlib.pyplot as plt
16
  from typing import Tuple
17
  from huggingface_hub import snapshot_download
 
49
  results[label] = float(logits[n])
50
  return results
51
 
52
+ def inference_resnet_embedding_v2(x,model,size=384,n_classes=140,n_top=10):
53
 
54
 
55
  x = tf.image.resize(x, (size, size))
 
59
 
60
  return embedding
61
 
62
+ def inference_resnet_finer_v2(x,model,size=384,n_classes=142,n_top=10):
63
 
64
  x = tf.image.resize(x, (size, size))
65
  x = tf.reshape(x, (-1, 384, 384, 3))/255