cv.2imread() логирование в консоль
При считывание изображений в массив на python происходит логирование ( отображение) загрузки, вида:
100%|██████████| 390/390 [00:04<00:00, 78.33it/s]
100%|██████████| 234/234 [00:08<00:00, 27.84it/s]
При работе в notebook оно динамично и занимает две строчки, как показано выше.
Есть файл, который использует загрузку изображений в таком формате, при этом существует лог этого файла, куда записывается нужная информация. Состояние же загрузки тоже записывается в лог, как понимаете весьма не динамично, а вроде такого:
0%| | 0/234 [00:00<?, ?it/s]
3%|▎ | 7/234 [00:00<00:03, 66.77it/s]
6%|▋ | 15/234 [00:00<00:03, 69.14it/s]
10%|▉ | 23/234 [00:00<00:02, 71.88it/s]
14%|█▍ | 33/234 [00:00<00:02, 77.62it/s]
18%|█▊ | 43/234 [00:00<00:02, 83.01it/s]
22%|██▏ | 52/234 [00:00<00:02, 80.42it/s]
26%|██▌ | 60/234 [00:00<00:02, 66.61it/s]
29%|██▉ | 69/234 [00:00<00:02, 69.40it/s]
34%|███▍ | 79/234 [00:01<00:02, 75.50it/s]
38%|███▊ | 88/234 [00:01<00:01, 78.18it/s]
41%|████ | 96/234 [00:01<00:01, 78.39it/s]
46%|████▌ | 107/234 [00:01<00:01, 81.61it/s]
50%|████▉ | 116/234 [00:01<00:01, 79.97it/s]
53%|█████▎ | 125/234 [00:01<00:01, 75.12it/s]
57%|█████▋ | 133/234 [00:01<00:01, 74.51it/s]
60%|██████ | 141/234 [00:01<00:01, 65.41it/s]
65%|██████▍ | 151/234 [00:01<00:01, 72.48it/s]
69%|██████▉ | 161/234 [00:02<00:00, 76.43it/s]
72%|███████▏ | 169/234 [00:02<00:00, 70.27it/s]
76%|███████▌ | 177/234 [00:02<00:00, 65.74it/s]
80%|███████▉ | 187/234 [00:02<00:00, 72.96it/s]
84%|████████▍ | 196/234 [00:02<00:00, 77.03it/s]
88%|████████▊ | 207/234 [00:02<00:00, 79.99it/s]
92%|█████████▏| 216/234 [00:02<00:00, 75.52it/s]
96%|█████████▌| 224/234 [00:02<00:00, 73.08it/s]
100%|██████████| 234/234 [00:03<00:00, 76.15it/s]
Как избавиться от этого в логе?
Вызов функции: (по умолчанию этот кусок кода содержится в файле, который вызывается так: python -u fl_trainer.py $i > ${log_dir}/trainer$i.log 2>&1 &)
test_reader = paddle.batch(
paddle.reader.shuffle(
xray_dataset.custom_reader_test(data_path_test),
buf_size=500),
batch_size=20)
Функция со считыванием изображений
def custom_reader_test(data_dir):
def test():
for label in labels:
path = os.path.join(data_dir, label)
class_num = np.array([labels.index(label)])
#print(class_num)
for img in tqdm(os.listdir(path)):
img_arr = cv2.imread(os.path.join(path, img), cv2.IMREAD_GRAYSCALE)
# print(img_arr.shape)
res = cv2.resize(img_arr, dsize=(img_size, img_size), interpolation=cv2.INTER_CUBIC).astype(float)
res = res / 255
yield res, class_num
return test