CardGenerator / utilities.py
drakosfire's picture
Ready to deplay as api only
3fe250d
raw
history blame
1.65 kB
# Create a list of hashmap key values .
import torch
import time
import gc
from io import BytesIO
import requests
import os
from PIL import Image
from pathlib import Path
image_list = []
# Utility Functions to be called from all modules
# Function to return a list of keys of a nested dictionary using it's key value (item or creature)
def keys_list(dict, index):
keys_list=list(dict.keys())
return keys_list[index]
# Function to clear model from VRAM to make space for other model
def reclaim_mem():
print(f"Memory before del {torch.cuda.memory_allocated()}")
torch.cuda.ipc_collect()
gc.collect()
torch.cuda.empty_cache()
time.sleep(0.01)
print(f"Memory after del {torch.cuda.memory_allocated()}")
#def del_object(object):
# del object
# gc.collect()
# Create a list of a directory if directory exists
def directory_contents(directory_path):
if os.path.isdir(directory_path) :
contents = os.listdir(directory_path)
return contents
else : pass
# Delete a list of file
def delete_files(file_paths):
for file_path in file_paths:
try:
os.remove(f"./image_temp/{file_path}")
print(f"Remove : ./image_temp/{file_path}")
except OSError as e:
print(f"Error: {file_path} : {e.strerror}")
file_paths.clear()
def open_image_from_url(image_url):
response = requests.get(image_url)
image_data = BytesIO(response.content)
image = Image.open(image_data)
return image
def receive_upload(image_file):
image = Image.open(image_file[0][0])
print(image)
return image