Мы в Telegram
Добавить новость

Новости сегодня на DirectAdvert

Новости сегодня от Adwile

Как обучить модель на видео данных?

Всем привет.
Обучал модель на изображениях следующим образом:

class ASDataset(Dataset):
    def __init__(self, client_file: str, imposter_file: str, transforms=None):
        with open(client_file, "r") as f:
            client_files = f.read().splitlines()
        with open(imposter_file, "r") as f:
            imposter_files = f.read().splitlines()
        self.labels = torch.cat((torch.ones(len(client_files)), torch.zeros(len(imposter_files))))
        self.imgs = client_files + imposter_files
        self.transforms = transforms

    def __len__(self):
        return len(self.imgs)

    def __getitem__(self, idx):
        img_name = self.imgs[idx]
        img = Image.open(img_name)
        label = self.labels[idx]
        if self.transforms:
            img = self.transforms(img)
        return img, label

train_dataset = ASDataset(client_file="/kaggle/input/nuaaaa/raw/client_train_raw.txt", imposter_file="/kaggle/input/nuaaaa/raw/imposter_train_raw.txt", transforms=preprocess)
val_dataset = ASDataset(client_file="/kaggle/input/nuaaaa/raw/client_test_raw.txt", imposter_file="/kaggle/input/nuaaaa/raw/imposter_test_raw.txt", transforms=preprocess)
# Create data loaders
train_loader = DataLoader(train_dataset, batch_size=8, shuffle=True)
val_loader = DataLoader(val_dataset, batch_size=8, shuffle=False)

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = ResNet18WithAttention().to(device)
criterion = nn.BCEWithLogitsLoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.0001)
num_epochs = 20

def train(epoch):
    running_loss = 0.0 
    running_acc = 0.0
    model.train()
    for i, (inputs, labels) in (pbar := tqdm(enumerate(train_loader), total=len(train_loader))):
        pbar.set_postfix(**msg)
        optimizer.zero_grad()
        outputs = model(inputs.to(device))
        loss = criterion(
            outputs, labels.unsqueeze(-1).to(device)
        )
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
        running_acc += get_accuracy(outputs, labels.to(device))
        if not i % 10 and i > 0:
            msg.update({"train_epoch": epoch + 1, "loss": running_loss / i, "acc": (running_acc / i).item()})
            pbar.set_postfix(**msg)
def validate():
    val_loss = 0.0  
    val_acc = 0.0
    model.eval()
    for i, (inputs, labels) in enumerate(val_loader):
        with torch.no_grad():
            outputs = model(inputs.to(device))
        loss = criterion(
            outputs, labels.unsqueeze(-1).to(device)  # Считаем loss
        )
        val_loss += loss.item()
        val_acc += get_accuracy(outputs, labels.to(device))
    val_loss /= len(val_loader)
    val_acc /= len(val_loader)
    scheduler.step()
    msg.update({"val_loss": val_loss, "val_acc": val_acc.item()})
    print(f"val_loss: {val_loss}, val_acc: {val_acc.item()}")
    return val_acc.item()
    
msg = OrderedDict({"train_epoch": None, "loss": None, "acc": None, \
                "val_loss": None, "val_acc": None})
Теперь пробую обучить на видео данных, и как я понял, нужно изменить class ASDataset, но не совсем понимаю, как это сделать. Пробовал вот так, и еще несколько похожих вариантов:
class VideoDataset(Dataset):
    def __init__(self, video_file: str, label: int, transforms=None):
        self.video = cv2.VideoCapture(video_file)
        self.label = label
        self.transforms = transforms

    def __len__(self):
        return int(self.video.get(cv2.CAP_PROP_FRAME_COUNT))

    def __getitem__(self, idx):
        self.video.set(cv2.CAP_PROP_POS_FRAMES, idx)
        success, frame = self.video.read()
        if not success:
            raise ValueError("Failed to read frame")
        frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)  # Convert to RGB
        if self.transforms:
            frame = self.transforms(frame)
        return frame, self.label
Скажите, пожалуйста, что нужно изменить, чтобы видео данные считывались правильно? Сами данные находятся в папке, в текстовом файле прописаны пути к файлам. Например, для файла imposter_train_raw.txt:
/kaggle/input/dfdcdfdc/DFDCDFDC/dbnygxtwek.mp4
/kaggle/input/dfdcdfdc/DFDCDFDC/dbtbbhakdv.mp4
/kaggle/input/dfdcdfdc/DFDCDFDC/ddepeddixj.mp4
/kaggle/input/dfdcdfdc/DFDCDFDC/dhcndnuwta.mp4
/kaggle/input/dfdcdfdc/DFDCDFDC/dhxctgyoqj.mp4
/kaggle/input/dfdcdfdc/DFDCDFDC/djxdyjopjd.mp4
/kaggle/input/dfdcdfdc/DFDCDFDC/dkuayagnmc.mp4
Все исходники, датасет и прочее скину исполнителю. Оплата по факту исполнения работы (скриншот, скринкаст работы).
Есть ноутбук, который запускал на данных с картинками -
https://www.kaggle.com/code/aleksandrpikul222/note...

Читайте на 123ru.net

Другие проекты от 123ru.net



Архангельск

Единство народов в многообразии культур: фестиваль «Гармоничная Россия» вновь пройдет в Архангельске



Мода

Создайте стильный образ из самых простых вещей в гардеробе






Новости 24 часа

Филиал № 4 ОСФР по Москве и Московской области информирует: Свыше 5,2 миллиона жителей Московского региона получают набор социальных услуг в натуральном виде



Game News

Состоялся пробный запуск для MMO Ragnarok: Rebirth на Android



Москва

Семь новостроек по реновации ввели в эксплуатацию в трех округах Москвы с начала года



News Every Day

Rangers backed into a corner, must beat Panthers on road to force Game 7



Происшествия

На орловской трассе столкнулись микроавтобус «УАЗ» и тягач «Scania», груженный дисками вагонных колес



Москва

Консорциум вузов по big data подписал национальный кодекс этики по ИИ



Певец

Певец Прохор Шаляпин назвал Кадышеву и Бабкину самыми богатыми артистками России



Москва

В Москве мужчину убили в парке на глазах у его внучек



Новак Джокович

Джокович совершил суперкамбэк на Ролан Гаррос и установил абсолютный рекорд



Москва

За один день работники Уссурийского ЛРЗ и их дети выполнили сменно-суточное задание по ремонту 129 паровозиков



Владимир Путин

Карьера пошла в горы: почему Путин отправил Турчака в Республику Алтай



Симферополь

Арт-знакомство «Искусство должно давать счастье и радость»



Москва

За один день работники Уссурийского ЛРЗ и их дети выполнили сменно-суточное задание по ремонту 129 паровозиков



Москва

Собянин рассказал о работе хаба молодежного предпринимательства



Москва

Солнечные дети на сцене Кремля



103news.com — быстрее, чем Я..., самые свежие и актуальные новости Вашего города — каждый день, каждый час с ежеминутным обновлением! Мгновенная публикация на языке оригинала, без модерации и без купюр в разделе Пользователи сайта 103news.com.

Как добавить свои новости в наши трансляции? Очень просто. Достаточно отправить заявку на наш электронный адрес mail@29ru.net с указанием адреса Вашей ленты новостей в формате RSS или подать заявку на включение Вашего сайта в наш каталог через форму. После модерации заявки в течении 24 часов Ваша лента новостей начнёт транслироваться в разделе Вашего города. Все новости в нашей ленте новостей отсортированы поминутно по времени публикации, которое указано напротив каждой новости справа также как и прямая ссылка на источник информации. Если у Вас есть интересные фото Вашего города или других населённых пунктов Вашего региона мы также готовы опубликовать их в разделе Вашего города в нашем каталоге региональных сайтов, который на сегодняшний день является самым большим региональным ресурсом, охватывающим все города не только России и Украины, но ещё и Белоруссии и Абхазии. Прислать фото можно здесь. Оперативно разместить свою новость в Вашем городе можно самостоятельно через форму.

Другие популярные новости дня сегодня


Новости 24/7 Все города России





Топ 10 новостей последнего часа




Новости России

Shot: еще один кроссовер GAC вспыхнул на ходу под Саратовом

"Святой Ленин" спасает мир и возглавляет "восстание ИИ машин... хороших по существу". 8 серия, СЕРЬЁЗНЫЕ НОВОСТИ.

Филиал № 4 ОСФР по Москве и Московской области информирует: Свыше 5,2 миллиона жителей Московского региона получают набор социальных услуг в натуральном виде

Солнечные дети на сцене Кремля


Москва

Евгений Миронов, Ирина Пегова, Кристина Асмус, Илья Авербух, Елизавета Арзамасова и другие звезды не фестивале «НЕБО»






Rss.plus

Почта России помогла детям-подопечным благотворительных фондов встретиться с футболистами ЦСКА

За один день работники Уссурийского ЛРЗ и их дети выполнили сменно-суточное задание по ремонту 129 паровозиков

Пушинка из Космоса спасёт либо снесёт США? Научные важные данные. Проект «Святой Ленин».

"Святой Ленин" спасает мир и возглавляет "восстание ИИ машин... хороших по существу". 8 серия, СЕРЬЁЗНЫЕ НОВОСТИ.

Moscow.media
Москва

Собянин одобрил три проекта по программе создания мест приложения труда



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Леонид Агутин

Леонид Агутин посвятил ушедшей Анастасии Заворотнюк песню и клип




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

Юные тулячки завоевали серебро и бронзу турнира по синхронному плаванию

«23 and Friends»: в Москве состоялся спортивно-музыкальный фестиваль Аш 23

Первые тренировки нового сезона проекта «Спортивные выходные» прошли в Москве


Ролан Гаррос

Теннисист Джокович побил рекорд Федерера по победам на турнирах "Большого шлема"



Новости Крыма на Sevpoisk.ru


Москва

Якутская переводческая группа литинститута в Москве защитилась на отлично



Частные объявления в Вашем городе, в Вашем регионе и в России