torch>=2.0.0
numpy>=1.24
pandas>=2.0
tqdm>=4.65
import pandas as pd
import torch
from torch.utils.data import Dataset, DataLoader, random_split
from typing import Tuple
class CSVDataset(Dataset):
"""Wrap a pandas DataFrame as a PyTorch dataset."""
def __init__(self, dataframe: pd.DataFrame, target_col: str):
self.X = torch.tensor(
dataframe.drop(columns=[target_col]).values, dtype=torch.float32
)
self.y = torch.tensor(
dataframe[target_col].values, dtype=torch.float32
).unsqueeze(1) # make it (N, 1)
def __len__(self) -> int:
return len(self.X)
def __getitem__(self, idx: int) -> Tuple[torch.Tensor, torch.Tensor]:
return self.X[idx], self.y[idx]
class CSVLoader:
"""
Simple helper that reads a CSV file, infers the target column (the last one
by default) and can produce train/validation DataLoaders.
"""
def __init__(self, path: str, target_col: str = None):
self.df = pd.read_csv(path)
self.target_col = target_col or self.df.columns[-1]
if self.target_col not in self.df.columns:
raise ValueError(f"Target column 'self.target_col' not found in CSV.")
self.num_features = self.df.shape[1] - 1
def get_dataset(self) -> CSVDataset:
return CSVDataset(self.df, self.target_col)
def get_dataloaders(
self,
split: float = 0.8,
batch_size: int = 32,
shuffle: bool = True,
num_workers: int = 0,
seed: int = 42,
) -> Tuple[DataLoader, DataLoader]:
torch.manual_seed(seed)
dataset = self.get_dataset()
train_len = int(len(dataset) * split)
val_len = len(dataset) - train_len
train_set, val_set = random_split(dataset, [train_len, val_len])
train_loader = DataLoader(
train_set, batch_size=batch_size, shuffle=shuffle, num_workers=num_workers
)
val_loader = DataLoader(
val_set, batch_size=batch_size, shuffle=False, num_workers=num_workers
)
return train_loader, val_loader
Novi (often going by the username noviyourbae on platforms like Instagram and TikTok) is a content creator and model known for her presence in the "babe" or "glamour" modeling niche. She typically creates content focusing on fashion, lifestyle, and swimwear/lingerie modeling, catering to a male-demographic audience interested in Asian aesthetic models (often associated with the "JAV idol" or "gravure idol" adjacent style, though she operates primarily as an independent social media influencer).
If you have encountered or downloaded Noviyourbae.zip, caution is advised: Noviyourbae.zip