WedX - журнал о программировании и компьютерных науках

Python: FileNotFoundError: [WinError 2] Система не может найти указанный файл

У меня есть небольшой опыт работы с python, и в настоящее время я пытаюсь попробовать создание видео машинного обучения с помощью pix2pix с помощью этого руководство.

В настоящее время я нахожусь на той части, где мне нужно извлечь кадры из видео. Я использую то же видео, но для удобства переместил его в тот же каталог, что и extract_frames.py.

Я все время получаю WinError 2: система не может найти указанный файл:

C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD>python extract_frames.py -video fire.mp4 -name fire_dataset -p2pdir . -width 1280 -height 736
creating the dataset structure
ffmpeg -v 16 -i C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD\fire.mp4 -q:v 2 -vf "scale=iw*736/ih:736, crop=1280:736" C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD/datasets/fire_dataset/train_frames/frame-%06d.jpg -hide_banner
extracting the frames
Traceback (most recent call last):
  File "C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD\extract_frames.py", line 32, in <module>
    video_utils.extract_frames_from_video(
  File "C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD\video_utils.py", line 82, in extract_frames_from_video
    p = subprocess.Popen(shlex.split(command), shell=False)
  File "C:\Users\cadou\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\cadou\AppData\Local\Programs\Python\Python39\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified

Я просмотрел эту ошибку и попробовал несколько вещей, но, похоже, ни одна из них не решила мою проблему. Я подозреваю, что это как-то связано с Пути, но я тоже пытался это изменить. Я также установил все библиотеки, запрошенные из учебника (dominate, ffmpeg и pyTorch).


  • это полная ошибка? Он не показывает, какой файл не может найти. Возможно, он не может найти fire.mp4, но, возможно, ему нужно ffmpeg для извлечения видео. 14.04.2021
  • Я проверил исходный код для subprocess в video_utils.py, и он запускает ffmpeg - и его необходимо установить с ffmpeg.org. Возможно, потребуется также изменить video_utils.py и использовать C:\full\path\to\ffmpeg.exe. Существует также жестко запрограммированный путь к Ubuntu-Font, который показывает, что этот код был создан для Linux Ubuntu. 14.04.2021

Ответы:


1

Вы можете попробовать следующую команду, заменив fire.mp4 на ./fire.mp4.

python extract_frames.py -video ./fire.mp4 -name fire_dataset -p2pdir . -width 1280 -height 736
13.04.2021

2

Erorr не показывает, какой файл не может найти.

Возможно, он не может найти fire.mp4, но я думаю, что ему нужно ffmpeg для извлечения видео.


Я проверил исходный код subprocess в video_utils.py, и он запускает ffmpeg - поэтому вам необходимо установить его с https://ffmpeg.org/.

Может также потребоваться изменить video_utils.py и использовать C:\full\path\to\ffmpeg.exe.

Также существует жестко запрограммированный путь к шрифту Ubuntu (в двух местах: см. код), который показывает, что этот код был создан для Linux Ubuntu. Этот путь также потребует изменения другого шрифта в Windows.

13.04.2021
  • Спасибо за ответ. Я установил ffmpeg с веб-сайта и добавил его в PATH и все остальное. Я установил его раньше, но, думаю, этого было недостаточно. Я больше не получаю ту же ошибку, но теперь она возвращает следующее: creating the dataset structure ffmpeg -v 16 -i C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD\fire.mp4 -q:v 2 -vf "scale=iw*736/ih:736, crop=1280:736" C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD/datasets/fire_dataset/train_frames/frame-%06d.jpg -hide_banner extracting the frames C:UserscadouOneDriveDesktopmlpix2pixHDfire.mp4: No such file or directory 19.04.2021
  • char \ имеет особое значение в тексте на Python (но также и на других языках) - т.е. \n для новой строки, \t для табуляции - и вам, возможно, придется использовать двойной \\ в пути - например, "C:\\Users\\...", или вы должны использовать префикс r для raw text - например, r"C:\Users\..." 19.04.2021
  • Двойная обратная косая черта возвращает: creating the dataset structure ffmpeg -v 16 -i C:\Users\cadou\Downloads\fire.mp4 -q:v 2 -vf "scale=iw*736/ih:736, crop=1280:736" C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD/datasets/fire_dataset/train_frames/frame-%06d.jpg -hide_banner extracting the frames C:UserscadouDownloadsfire.mp4: No such file or directory Необработанный текст возвращает: Traceback (most recent call last): File "C:\Users\cadou\OneDrive\Desktop\ml\pix2pixHD\extract_frames.py", line 18, in <module> raise Exception("video does not exist") Exception: video does not exist 20.04.2021
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]