Рубрики
Без рубрики

TQDM: Добавление панели прогресса в Smiler

На этой неделе в моем Twitch Live Stream я расширил свой инструмент/библиотеку, чтобы использовать нейронную сеть, чтобы … Tagged with Python, Showdev.

На этой неделе в моем Twitch Live Stream я расширил свой инструмент/библиотеку Смайлер Чтобы использовать нейронную сеть для обнаружения улыбающихся лиц:

Использование сверточной нейронной сети (CNN) для обнаружения улыбающихся лиц

Мэтт Гамильтон ・ 17 июля 20 ・ 4 мин читать

После шоу я сделал некоторое рефакторинг кода, и убрал все это для выпуска. Теперь он доступен для установки/загрузки на PYPI:

https://pypi.org/project/choirless-smiler/

Вы можете использовать его либо в качестве инструмента CLI, либо в качестве библиотеки. Мы используем его как библиотеку в Без хора и заверните его как функцию Apache OpenWhisk для нашего конвейера рендеринга, созданного на облачных функциях IBM.

Этим утром я только что добавил дополнительную функцию, панель прогресса, когда вы используете ее в качестве CLI, и указываю --вербоз флаг.

Бар прогресса реализована с использованием великой маленькой библиотеки Python под названием TQDM Что позволяет очень легко добавить панели прогресса в ваш код.

Изменения, которые я внес в Smiler, – это метод, который вычисляет порог, необходимый для получения всего 5% от «самых разных» кадров.

     def calc_threshold(self, frames, q=0.95):
         prev_frame = next(frames)
         counts = []
+
+        if self.verbose:
+            if self.total_frames is not None:
+                frames = tqdm(frames, total=self.total_frames)
+            else:
+                frames = tqdm(frames)
+            frames.set_description("Calculating threshold")
+
         for frame in frames:
             # Calculate the pixel difference between the current
             # frame and the previous one

и метод, который фактически анализирует каждый кадр:

         best_smile_score = 0
         best_frame = next(frames)

+        if self.verbose:
+            if self.total_frames is not None:
+                frames = tqdm(frames, total=self.total_frames)
+            else:
+                frames = tqdm(frames)
+            frames.set_description("Finding smiliest face")
+
         for frame in frames:
             # Convert the frame to grayscale
             gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

В обоих случаях это было так же просто, как просто упаковка итератора в TQDM () вызов. Если я знаю общее количество кадров, я передаю это в качестве параметра.

Оригинал: “https://dev.to/hammertoe/tqdm-adding-a-progress-bar-to-smiler-317f”