Skip to content

Instantly share code, notes, and snippets.

View J3698's full-sized avatar
๐Ÿ›
Inch Worm

Anti J3698

๐Ÿ›
Inch Worm
  • Working
  • Working
View GitHub Profile
import os
import random
from shutil import copyfile
from tqdm.auto import tqdm
size = 32
os.makedirs(f"images_data{size}/train", exist_ok = True)
os.makedirs(f"images_data{size}/val", exist_ok = True)
os.makedirs(f"images_data{size}/test", exist_ok = True)
from flask import Flask
from flask_cors import CORS, cross_origin
app = Flask(__name__)
cors = CORS(app)
app.config['CORS_HEADERS'] = 'Content-Type'
@app.route("/classify")
@cross_origin()
def classify_symbol():
from PIL import Image, ImageDraw
import numpy as np
import torch
from train2 import Model
from torchvision.transforms import ToTensor
model = Model()
model.eval()
state_dict = torch.load("Test.pt", map_location = torch.device("cpu"))
model.load_state_dict(state_dict['model'])
size = 32
order = sorted([str(i) for i in range(1098)])
chars = sorted(set(np.load("data_processed/dataY.npy")))
def fix_predictions(output):
outs = [chars[int(order[i.item()])] for i in torch.topk(output, 5, dim = 1).indices[0]]
return ["\\" + i.split("_")[1] for i in outs]
@app.route("/classify")
@cross_origin()
def classify_symbol():
json_str = request.args.get('points')
if json_str is None:
return {"top5": [" ", " ", " ", " ", " "]}
json_data = json.loads(json_str)
if 'data' not in json_data:
return {"top5": [" ", " ", " ", " ", " "]}