Skip to content

Instantly share code, notes, and snippets.

View pythonlessons's full-sized avatar

Rokas Liuberskis pythonlessons

View GitHub Profile
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_13.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.10.1 at http://localhost:6006/ (Press CTRL+C to quit)
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_12.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
Tensorboard --logdir Models\08_handwriting_recognition_torch\202303142139\logs
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_11.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
# create callbacks
earlyStopping = EarlyStopping(monitor='val_CER', patience=20, mode="min", verbose=1)
modelCheckpoint = ModelCheckpoint(configs.model_path + '/model.pt', monitor='val_CER', mode="min", save_best_only=True, verbose=1)
tb_callback = TensorBoard(configs.model_path + '/logs')
reduce_lr = ReduceLROnPlateau(monitor='val_CER', factor=0.9, patience=10, verbose=1, mode='min', min_lr=1e-6)
model2onnx = Model2onnx(
saved_model_path=configs.model_path + '/model.pt',
input_shape=(1, configs.height, configs.width, 3),
verbose=1,
metadata={"vocab": configs.vocab}
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_10.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
# put on cuda device if available
if torch.cuda.is_available():
network = network.cuda()
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_9.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
# uncomment to print network summary, torchsummaryX package is required
summary(network, torch.zeros((1, configs.height, configs.width, 3)))
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_8.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
loss = CTCLoss(blank=len(configs.vocab))
optimizer = optim.Adam(network.parameters(), lr=configs.learning_rate)
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_7.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
network = Network(len(configs.vocab), activation='leaky_relu', dropout=0.3)
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_6.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
# Augment training data with random brightness, rotation and erode/dilate
train_dataProvider.augmentors = [
RandomBrightness(),
RandomErodeDilate(),
RandomSharpen(),
RandomRotate(angle=10),
]
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_5.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
# Split the dataset into training and validation sets
train_dataProvider, test_dataProvider = data_provider.split(split = 0.9)
@pythonlessons
pythonlessons / handwriting_recognition_pytorch_4.py
Created March 20, 2023 13:53
handwriting_recognition_pytorch
for _ in data_provider:
pass