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