1
0

updates from colab [fix model, reduce augmentation]

This commit is contained in:
ІО-23 Шмуляр Олег 2025-11-20 11:31:24 +02:00
parent 4285df1657
commit 0f4ebce8f6
2 changed files with 13 additions and 10 deletions

7
aug.py
View File

@ -4,6 +4,7 @@ from PIL import Image
from os import listdir as ls from os import listdir as ls
from sys import argv, exit from sys import argv, exit
from tensorflow.keras.utils import array_to_img as img from tensorflow.keras.utils import array_to_img as img
from tensorflow.keras import layers as kl
if len(argv) != 3: if len(argv) != 3:
exit(1) exit(1)
@ -14,11 +15,11 @@ for v, fn in enumerate(files):
i = np.array(Image.open(f"{argv[1]}/{fn}").convert('RGB').resize((300,300))) / 255.0 i = np.array(Image.open(f"{argv[1]}/{fn}").convert('RGB').resize((300,300))) / 255.0
print(f"Processing {v+1:03d}/{len(files)}: {fn}") print(f"Processing {v+1:03d}/{len(files)}: {fn}")
for x1 in range(4): for x1 in range(3):
i1 = tf.image.random_brightness(i, 0.6) i1 = tf.image.random_brightness(i, 0.6)
for x2 in range(4): for x2 in range(3):
i2 = tf.image.random_saturation(i1, 0.1, 2.0) i2 = tf.image.random_saturation(i1, 0.1, 2.0)
for x3 in range(4): for x3 in range(3):
i3 = tf.image.random_contrast(i2, 0.2, 1.9) i3 = tf.image.random_contrast(i2, 0.2, 1.9)
img(i3).save(f"{argv[2]}/{fn.rsplit('.', 1)[0]}_{x1}_{x2}_{x3}_1.png") img(i3).save(f"{argv[2]}/{fn.rsplit('.', 1)[0]}_{x1}_{x2}_{x3}_1.png")

16
m.py
View File

@ -5,9 +5,10 @@ from tensorflow import keras as k
from tensorflow.keras import layers as kl from tensorflow.keras import layers as kl
from tensorflow.keras import models as km from tensorflow.keras import models as km
from tensorflow.keras import optimizers as ko from tensorflow.keras import optimizers as ko
from tensorflow.keras import callbacks as kc
CONV_SIZE = 128 CONV_SIZE = 96
MPPT_SIZE = 1024 MPPT_SIZE = 256
DRPT_RATE = 0.3 DRPT_RATE = 0.3
TOUT_AMNT = 2 TOUT_AMNT = 2
@ -23,7 +24,8 @@ def max(i, s):
return kl.MaxPooling2D(s, padding = 'same', strides = (1, 1))(i) return kl.MaxPooling2D(s, padding = 'same', strides = (1, 1))(i)
def generate_start(i): def generate_start(i):
r1 = conv(i, CONV_SIZE, (3, 3)) s = kl.Rescaling(1./255.)(i)
r1 = conv(s, CONV_SIZE, (3, 3))
r2 = conv(r1, CONV_SIZE, (3, 3)) r2 = conv(r1, CONV_SIZE, (3, 3))
r3 = conv(r2, CONV_SIZE, (3, 3)) r3 = conv(r2, CONV_SIZE, (3, 3))
@ -133,19 +135,19 @@ gi = kl.Input((300, 300, 3))
ds = generate_start(gi) ds = generate_start(gi)
for _ in range(1): for _ in range(3):
ds = generate_type_a(ds) ds = generate_type_a(ds)
ds = generate_ab_bridge(ds) ds = generate_ab_bridge(ds)
for _ in range(1): for _ in range(4):
ds = generate_type_b(ds) ds = generate_type_b(ds)
uo = generate_aux(ds) uo = generate_aux(ds)
go = generate_bc_bridge(ds) go = generate_bc_bridge(ds)
for _ in range(1): for _ in range(2):
go = generate_type_c(go) go = generate_type_c(go)
go = generate_finish(go) go = generate_finish(go)
@ -153,6 +155,6 @@ go = generate_finish(go)
mod = k.Model(inputs = gi, outputs = go) mod = k.Model(inputs = gi, outputs = go)
mod.summary() mod.summary()
mod.compile(optimizer = ko.Lion(learning_rate = 0.001), mod.compile(optimizer = ko.Lion(learning_rate = 0.0001),
loss = 'categorical_crossentropy', loss = 'categorical_crossentropy',
metrics = ['accuracy']) metrics = ['accuracy'])