cyberai-1 commited on
Commit ·
ac05c13
1
Parent(s): 3131a8e
Update tensorflow
Browse files
app.py
CHANGED
|
@@ -13,6 +13,7 @@ import torch
|
|
| 13 |
import torch.nn as nn
|
| 14 |
import torch.nn.functional as F
|
| 15 |
from torchvision import transforms
|
|
|
|
| 16 |
|
| 17 |
app = Flask(__name__)
|
| 18 |
|
|
@@ -124,15 +125,43 @@ def load_pytorch():
|
|
| 124 |
return _pytorch_model
|
| 125 |
|
| 126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 127 |
def load_tensorflow():
|
| 128 |
global _tf_model
|
| 129 |
if _tf_model is not None:
|
| 130 |
return _tf_model
|
| 131 |
|
| 132 |
-
import tensorflow as tf
|
| 133 |
-
|
| 134 |
model = build_cnn_tf(num_classes=6, input_shape=(228, 228, 3))
|
| 135 |
model.load_weights("parfait_model.keras")
|
|
|
|
| 136 |
_tf_model = model
|
| 137 |
return _tf_model
|
| 138 |
|
|
@@ -205,4 +234,4 @@ def predict():
|
|
| 205 |
|
| 206 |
if __name__ == "__main__":
|
| 207 |
port = int(os.environ.get("PORT", 5000))
|
| 208 |
-
app.run(host="0.0.0.0", port=port, debug=False)
|
|
|
|
| 13 |
import torch.nn as nn
|
| 14 |
import torch.nn.functional as F
|
| 15 |
from torchvision import transforms
|
| 16 |
+
from tensorflow.keras import layers, models
|
| 17 |
|
| 18 |
app = Flask(__name__)
|
| 19 |
|
|
|
|
| 125 |
return _pytorch_model
|
| 126 |
|
| 127 |
|
| 128 |
+
|
| 129 |
+
def build_cnn_tf(num_classes: int = 6, input_shape: tuple = (228, 228, 3)):
|
| 130 |
+
return models.Sequential([
|
| 131 |
+
layers.Input(shape=input_shape),
|
| 132 |
+
|
| 133 |
+
layers.Conv2D(32, (5, 5), activation="relu"),
|
| 134 |
+
layers.MaxPooling2D(2, 2),
|
| 135 |
+
|
| 136 |
+
layers.Conv2D(32, (5, 5), activation="relu"),
|
| 137 |
+
layers.MaxPooling2D(2, 2),
|
| 138 |
+
|
| 139 |
+
layers.Conv2D(32, (3, 3), activation="relu"),
|
| 140 |
+
layers.MaxPooling2D(2, 2),
|
| 141 |
+
|
| 142 |
+
layers.Conv2D(64, (3, 3), activation="relu"),
|
| 143 |
+
layers.MaxPooling2D(2, 2),
|
| 144 |
+
|
| 145 |
+
layers.Conv2D(64, (3, 3), activation="relu"),
|
| 146 |
+
layers.MaxPooling2D(2, 2),
|
| 147 |
+
|
| 148 |
+
layers.Flatten(),
|
| 149 |
+
layers.Dense(1024, activation="relu"),
|
| 150 |
+
layers.Dropout(0.20),
|
| 151 |
+
layers.Dense(124, activation="relu"),
|
| 152 |
+
layers.Dropout(0.20),
|
| 153 |
+
layers.Dense(num_classes, activation="softmax"),
|
| 154 |
+
])
|
| 155 |
+
|
| 156 |
+
|
| 157 |
def load_tensorflow():
|
| 158 |
global _tf_model
|
| 159 |
if _tf_model is not None:
|
| 160 |
return _tf_model
|
| 161 |
|
|
|
|
|
|
|
| 162 |
model = build_cnn_tf(num_classes=6, input_shape=(228, 228, 3))
|
| 163 |
model.load_weights("parfait_model.keras")
|
| 164 |
+
|
| 165 |
_tf_model = model
|
| 166 |
return _tf_model
|
| 167 |
|
|
|
|
| 234 |
|
| 235 |
if __name__ == "__main__":
|
| 236 |
port = int(os.environ.get("PORT", 5000))
|
| 237 |
+
app.run(host="0.0.0.0", port=port, debug=False)
|