By using the output of the following code in the flow of the model.
torch.tensor(existing_tensor)
existing_tensor.item()
existing_tensor.detach()
import gpxpy | |
import matplotlib.pyplot as plt | |
import os | |
import re | |
from itertools import accumulate | |
size = 1.2 | |
gpx_folderpath = "gpx/" |
files = [f for f in os.listdir(gpx_folderpath) if os.path.isfile(os.path.join(gpx_folderpath, f))] | |
def sort_key(file): | |
num = re.search(r'(\d+)', file).group(1) | |
num = num.replace('-', ' ') | |
num = int(num) if num.isdigit() else 0 | |
return (num, file) | |
files.sort(key=sort_key) |
N = 4 | |
x = torch.randn(N, 3) | |
out = torch.Tensor([1,0,1,0]).float().requires_grad_(True) | |
res1 = x * out[:, None] | |
idx = res1.nonzero()[:, 0].unique() | |
res2 = res1[idx] | |
# perform your operation here | |
res = res2.mean() |
import ctypes | |
import tkinter | |
def get_dpi(): | |
ctypes.windll.shcore.SetProcessDpiAwareness(1) | |
root = tkinter.Tk() | |
dpi = ctypes.windll.user32.GetDpiForWindow(root.winfo_id()) | |
root.destroy() | |
return dpi |
def rotanimate(ax, output_filename:str, angles:list=None, elevation:list=None, width:float=8, height:float=8, filename_prefix:str='tmprot_', nb_image:int=120, fps:int=30): | |
if angles==None: angles = np.linspace(0, 360, nb_image+1) | |
if elevation==None: elevation = np.linspace(20, 20, nb_image+1) | |
ax.figure.set_size_inches(width,height) | |
files = [] | |
for i, angle in enumerate(angles): | |
ax.view_init(elev = elevation[i], azim=angle) | |
fname = '%s%03d.jpeg'%(filename_prefix,i) |
class CustomImageDatasetNumpy(Dataset): | |
def __init__(self, dir_path:str): | |
self.dir_path = dir_path | |
self.filenames = os.listdir(dir_path) | |
def __len__(self): | |
return len(self.filenames) | |
def __getitem__(self, idx): | |
np_path = self.dir_path + "/" + self.filenames[idx] |
def create_data_loader(dirpath:str, test_split:float=0.1, shuffle_dataset:bool=True): | |
"""Create a dataset and split+shuffle it.""" | |
dataset = CustomImageDatasetNumpy(dirpath) | |
dataset_size = len(dataset) | |
indices = list(range(dataset_size)) | |
split = int(np.floor(test_split * dataset_size)) | |
if shuffle_dataset: np.random.shuffle(indices) | |
train_indices, val_indices = indices[split:], indices[:split] |
def delete_content_folder(folder:str): | |
for filename in tqdm(os.listdir(folder), desc="Erasing Temporary Data", leave=False): | |
file_path = os.path.join(folder, filename) | |
try: | |
if os.path.isfile(file_path) or os.path.islink(file_path): | |
os.unlink(file_path) | |
elif os.path.isdir(file_path): | |
shutil.rmtree(file_path) | |
except Exception as e: | |
print('Failed to delete %s. Reason: %s' % (file_path, e)) |