import sys
sys.path.append("/workspace/new_resnet18_cifar10/python_library")
import config as cfg
import utils as ut
import os
import numpy as np
from random import seed, shuffle # 난수 생성 라이브러리
from tensorflow.keras.datasets import cifar10 # cifar10: CIFAR10 이미지 분류 데이터셋
print(f"\
SCRIPT_DIR = {cfg.SCRIPT_DIR} \n\
DATASET_DIR = {cfg.DATASET_DIR} \n\
TRAIN_DIR = {cfg.TRAIN_DIR} \n\
VALID_DIR = {cfg.VALID_DIR} \n\
TEST_DIR = {cfg.TEST_DIR} \n\
CALIB_DIR = {cfg.CALIB_DIR} \n\
GPUS = {cfg.GPUS} \n\
WEIGHTS = {cfg.WEIGHTS} \n\
NUM_EPOCHS = {cfg.NUM_EPOCHS} \n\
INIT_LR = {cfg.INIT_LR} \n\
BATCH_SIZE = {cfg.BATCH_SIZE} \n\
")
os.environ["CUDA_VISIBLE_DEVICES"] = cfg.GPUS
# os.environ: 운영 체제의 환경 변수에 접근하기 위한 함수
SCRIPT_DIR = /workspace/new_resnet18_cifar10
DATASET_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset
TRAIN_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/train
VALID_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/valid
TEST_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/test
CALIB_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/calib
GPUS = 0
WEIGHTS = float_model
NUM_EPOCHS = 50
INIT_LR = 0.01
BATCH_SIZE = 256
cifar10 데이터셋을 담을 폴더 생성
dir_list = [cfg.DATASET_DIR, cfg.TRAIN_DIR, cfg.VALID_DIR, cfg.TEST_DIR, cfg.CALIB_DIR]
ut.create_dirs(dir_list)
dir_list = [cfg.TRAIN_DIR, cfg.VALID_DIR, cfg.TEST_DIR, cfg.CALIB_DIR]
ut.create_subdirs(dir_list, cfg.labelNames_list)
# 현재경로의 폴더와 파일을 트리형태로 출력
!tree -L 2
.
├── cifar10_dataset
│ ├── calib
│ ├── test
│ ├── train
│ └── valid
├── float_model
│ ├── train1_best_chkpt.h5
│ └── train1_final.h5
├── generate_cifar10_dataset.ipynb
├── inspect_quantize_compile_resnet18.ipynb
├── log_file
│ ├── inspect_results.txt
│ ├── model.svg
│ └── train1_float_model.png
├── python_library
│ ├── config.py
│ ├── __init__.py
│ ├── __pycache__
│ └── utils.py
├── quantized_model
│ └── q_train2_resnet18_cifar10.h5
├── run_compile.sh
└── train_resnet18.ipynb
10 directories, 13 files
cifar10_dataset = cifar10.load_data()
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
# 학습셋 이미지 개수 출력
print("{n} images in original train dataset".format(n=x_train.shape[0]))
# 테스트셋 이미지 개수 출력
print("{n} images in original test dataset".format(n=x_test.shape[0]))
50000 images in original train dataset
10000 images in original test dataset
# 각 클래스별로 몇 개의 이미지가 있는지 세기 위한 카운터 배열
counter_total= np.array([0,0,0,0,0,0,0,0,0,0], dtype="uint32")
num_train = 0 # 학습셋 이미지 개수
for i in range(0, x_train.shape[0]):
rgb_array = x_train[i]
label_index = int(y_train[i])
class_name = cfg.labelNames_list[label_index]
file_dir = os.path.join(cfg.TRAIN_DIR, class_name)
file_name = class_name+"_"+str(i)+".png"
ut.save_rgb_array_to_img(file_dir, file_name, rgb_array)
counter_total[label_index] += 1 # 해당 클래스의 카운터 증가
num_train += 1 # 학습셋 이미지 개수 증가
img_list = list() # list객체 생성
for i in range(0, 1000):
rgb_array = x_train[i]
label_index = int(y_train[i])
class_name = cfg.labelNames_list[label_index]
file_dir = os.path.join(cfg.CALIB_DIR, class_name)
file_name = class_name+"_"+str(i)+".png"
ut.save_rgb_array_to_img(file_dir, file_name, rgb_array)
local_file_dir = os.path.join(class_name,file_name)
img_list.append(local_file_dir)
ut.write_list_to_file(cfg.CALIB_DIR, "calib_list.txt", img_list) # 이미지 파일의 상대 경로를 텍스트 파일에 기록
for i in range (0, x_test.shape[0]): # testset의 모든 이미지에 대해 반복
rgb_array = x_test[i]
label_index = int(y_test[i])
class_name = cfg.labelNames_list[label_index]
file_dir = os.path.join(cfg.TEST_DIR, class_name)
file_name = class_name+'_'+str(i)+'.png'
ut.save_rgb_array_to_img(file_dir, file_name, rgb_array)
counter_total[label_index] += 1 # 해당 클래스의 카운터 증가
# 각 폴더의 클래스 이름의 폴더안의 사진 갯수 출력
print(cfg.labelNames_list)
dirs = [cfg.TRAIN_DIR, cfg.TEST_DIR, cfg.VALID_DIR, cfg.CALIB_DIR]
for dir in dirs:
print(
[ut.folder_and_file_count_to_tuple(
os.path.join(dir, cfg.labelNames_list[i]))[1]
for i in range(10)
]
)
['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
[5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000]
[1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[102, 112, 99, 92, 99, 85, 107, 102, 99, 103]
########################################################################################
# testset의 이미지를 검증 및 테스트 폴더로 분할
########################################################################################
# TEST_DIR 폴더 안에 있는 모든 하위 폴더에서 png 확장자를 가진 모든 이미지 파일의 경로를 imagesList라는 배열에 저장
imagesList = ut.get_file_paths_by_extension(cfg.TEST_DIR, 'png')
# 난수 생성기 시드 설정
seed(1)
# 이미지 목록 섞기
shuffle(imagesList)
# 검증셋에서 클래스 당 이미지 수
NUM_VAL = cfg.NUM_VAL_IMAGES/cfg.NUM_CLASSES
# 500 # 5000 # 10
# 테스트셋에서 클래스 당 이미지 수
NUM_TEST = cfg.NUM_TEST_IMAGES/cfg.NUM_CLASSES
# 500 # 5000 # 10
# 카운터 및 검증/테스트 이미지 수 초기화
counter = np.array([0,0,0,0,0,0,0,0,0,0], dtype="uint32")
num_val = 0
num_test = 0
# 이미지를 검증, 테스트 폴더로 이동
for img in imagesList:
filename = os.path.basename(img) # 경로 문자열에서 파일 이름 추출
classname = filename.split("_")[0] # 추출한 파일 이름에서 '_' 앞에 있는 클래스 이름 추출
label = cfg.labelNames_dict[classname] # class-label 딕셔너리를 통해 class값을 통해 label 추출
# 클래스당 500개의 이미지 # 500
if (counter[ label ] < NUM_TEST): # 해당 label의 counter 값이 NUM_TEST보다 작으면
dst_dir = cfg.TEST_DIR # 테스트용 폴더로
num_test = num_test+1 # 테스트용 이미지 수 증가
# 클래스당 500개의 이미지
else: # 해당 label의 counter 값이 NUM_TEST보다 크면
dst_dir = cfg.VALID_DIR # 검증용 폴더로
num_val = num_val+1 # 검증용 이미지 수 증가
# 카운터 업데이트
counter[label] += 1; # counter 배열의 값 증가
out_filename = os.path.join(dst_dir, cfg.labelNames_list[label]+"/"+filename) # 이동할 경로 생성
os.rename(img, out_filename) # 이미지 파일 이동
# 결과 출력
print("classes histogram in train and test dataset: ", counter)
print("num images in train folder = ", num_train)
print("num images in val folder = ", num_val)
print("num images in pred folder = ", num_test)
print("\nFINISHED CREATING DATASET\n")
# 각 폴더의 클래스 이름의 폴더안의 사진 갯수 출력
print(cfg.labelNames_list)
dirs = [cfg.TRAIN_DIR, cfg.TEST_DIR, cfg.VALID_DIR, cfg.CALIB_DIR]
for dir in dirs:
print(
[ut.folder_and_file_count_to_tuple(
os.path.join(dir, cfg.labelNames_list[i]))[1]
for i in range(10)
]
)
classes histogram in train and test dataset: [1000 1000 1000 1000 1000 1000 1000 1000 1000 1000]
num images in train folder = 50000
num images in val folder = 5000
num images in pred folder = 5000
FINISHED CREATING DATASET
['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck']
[5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000]
[500, 500, 500, 500, 500, 500, 500, 500, 500, 500]
[500, 500, 500, 500, 500, 500, 500, 500, 500, 500]
[102, 112, 99, 92, 99, 85, 107, 102, 99, 103]
import sys
sys.path.append("/workspace/new_resnet18_cifar10/python_library")
import config as cfg
import utils as ut
import os
from random import seed, shuffle # 난수 생성 라이브러리
import numpy as np
import matplotlib.pyplot as plt # 그래프 그리는 함수 제공
from sklearn.metrics import classification_report
# sklearn.metrics: 분류, 회귀, 클러스터링 알고리즘 성능 측정 도구 제공
# classification_report: 각 클래스에 대한 정밀도(precision), 재현율(recall), F1 점수(f1-score), 지원도(support)를 계산
import cv2 # 이미지 처리, 컴퓨터 비전 라이브러리
from datetime import datetime # 날짜, 시간 라이브러리
from random import seed, shuffle # 난수 생성 라이브러리
from tensorflow import keras # 딥러닝 모델 구현을 위한 텐서플로우 고수준 API
from tensorflow.keras.utils import plot_model, to_categorical
# plot_model: 모델 구조 시각화 함수
# to_categorical: 정수 레이블을 이진 클래스 행렬로 변환하는 함수
from tensorflow.keras.preprocessing.image import ImageDataGenerator
# ImageDataGenerator: 데이터 증강을 위한 클래스
from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping
# ModelCheckpoint: 에폭마다 모델 저장 콜백
# LearningRateScheduler: 학습률 동적 조정 콜백
# EarlyStopping: 자동 중단 콜백
from classification_models.keras import Classifiers
# Classifiers: 이미지넷(ImageNet) 데이터셋에 대해 사전 학습된 분류 모델들을 제공, 전이학습(Transfer Learning)을 위해 필요
os.environ["CUDA_VISIBLE_DEVICES"] = cfg.GPUS # os.environ: 운영 체제의 환경 변수에 접근하기 위한 함수
print(f"\
SCRIPT_DIR = {cfg.SCRIPT_DIR} \n\
DATASET_DIR = {cfg.DATASET_DIR} \n\
TRAIN_DIR = {cfg.TRAIN_DIR} \n\
VALID_DIR = {cfg.VALID_DIR} \n\
TEST_DIR = {cfg.TEST_DIR} \n\
CALIB_DIR = {cfg.CALIB_DIR} \n\
GPUS = {cfg.GPUS} \n\
WEIGHTS = {cfg.WEIGHTS} \n\
NUM_EPOCHS = {cfg.NUM_EPOCHS} \n\
INIT_LR = {cfg.INIT_LR} \n\
BATCH_SIZE = {cfg.BATCH_SIZE} \n\
")
# Script_dir: 스크립트가 저장된 경로
# Dataset_dir: CIFAR-10 데이터셋의 최상위 폴더 경로
# Train_dir: 학습 데이터를 저장할 폴더 경로
# Valid_dir: 검증 데이터를 저장할 폴더 경로
# Test_dir: 테스트 데이터를 저장할 폴더 경로
# Calib_dir: calibration 데이터를 저장할 폴더 경로
# Weights: 모델의 가중치가 담긴 HDF5 포맷의 파일을 저장할 경로
# Epochs: 전체 데이터셋을 한번 다 학습하는 횟수 (default: 25)
# Learning rate: 모델의 가중치를 업데이트할 때 얼마나 크게 변경할지를 결정하는 파라미터 (default: 1e-2)
# Batch size: 학습할 때 한 번에 처리할 데이터의 개수, 배치 크기가 클수록 학습 속도가 빨라지고 메모리 사용량이 증가 (default: 32)
2024-02-15 04:29:03.182003: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-02-15 04:29:04.211538: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
SCRIPT_DIR = /workspace/new_resnet18_cifar10
DATASET_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset
TRAIN_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/train
VALID_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/valid
TEST_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/test
CALIB_DIR = /workspace/new_resnet18_cifar10/./cifar10_dataset/calib
GPUS = 0
WEIGHTS = float_model
NUM_EPOCHS = 50
INIT_LR = 0.01
BATCH_SIZE = 256
데이터셋(test, train, valid) 불러오기
## TRAIN SET
# TRAIN_DIR 폴더 안에 있는 모든 png 파일의 경로를 img_list에 저장
img_list = ut.get_file_paths_by_extension(cfg.TRAIN_DIR, 'png')
seed(42) # 랜덤 시드를 42로 설정
shuffle(img_list) # img_list의 원소들의 순서를 무작위로 섞음
x_train, y_train = list(), list() # x_train과 y_train이라는 빈 리스트를 생성
# x_train, y_train = np.array([]), np.array([]) # x_train과 y_train이라는 빈 리스트를 생성
# x_train: 학습용 이미지 데이터, y_train: 학습용 레이블 데이터
for img_path in img_list: # img_list에 있는 각 이미지에 대해 반복
filename = os.path.basename(img_path) # 이미지의 파일 이름을 filename에 저장
classname = filename.split("_")[0] # 파일 이름을 "_"로 분리하고 첫 번째 요소를 classname에 저장
img = cv2.imread(img_path) # 이미지를 읽어서 img에 저장
x_train.append(img) # x_train에 img_array를 추가
y_train.append(cfg.labelNames_dict[classname]) # y_train에 classname에 해당하는 레이블 값을 추가
print(f"Train set last image: {filename}")
ut.imshow(x_train[49999])
x_train = np.asarray(x_train) # python 배열을 numpy 배열로 변환
print(f"x_train.shape: {x_train.shape}\n\n")
## VALID SET
# VALID_DIR 폴더 안에 있는 모든 png 파일의 경로를 img_list에 저장
img_list = ut.get_file_paths_by_extension(cfg.VALID_DIR, 'png')
shuffle(img_list) # img_list를 무작위로 섞음
x_valid, y_valid = list(), list() # x_valid과 y_valid이라는 빈 리스트를 생성
for img_path in img_list: # img_list에 있는 각 이미지에 대해 반복
filename = os.path.basename(img_path) # 이미지의 파일 이름을 filename에 저장
classname = filename.split("_")[0] # 파일 이름을 "_"로 분리하고 첫 번째 요소를 classname에 저장
img = cv2.imread(img_path) # 이미지를 읽어서 img에 저장
x_valid.append(img) # x_valid에 img를 추가
y_valid.append(cfg.labelNames_dict[classname]) # y_valid에 classname에 해당하는 레이블 값을 추가
print(f"Valid set last image: {filename}")
ut.imshow(x_valid[4999])
x_valid = np.asarray(x_valid) # python 배열을 numpy 배열로 변환
print(f"x_valid.shape: {x_valid.shape}\n\n")
## TEST SET
# TEST_DIR 폴더 안에 있는 모든 png 파일의 경로를 img_list에 저장
img_list = ut.get_file_paths_by_extension(cfg.TEST_DIR, 'png')
shuffle(img_list) # img_list를 무작위로 섞음
x_test, y_test = list(), list() # x_test와 y_test라는 빈 리스트를 생성
for img_path in img_list: # img_list에 있는 각 이미지에 대해 반복
filename = os.path.basename(img_path) # 이미지의 파일 이름을 filename에 저장
classname = filename.split("_")[0] # 파일 이름을 "_"로 분리하고 첫 번째 요소를 classname에 저장
img = cv2.imread(img_path) # 이미지를 읽어서 img에 저장
x_test.append(img) # x_test에 img를 추가
y_test.append(cfg.labelNames_dict[classname]) # y_test에 classname에 해당하는 레이블 값을 추가
print(f"Test set last image: {filename}")
ut.imshow(x_test[4999])
x_test = np.asarray(x_test) # python 배열을 numpy 배열로 변환
print(f"x_test.shape: {x_test.shape}\n\n")
Train set last image: dog_32753.png
x_train.shape: (50000, 32, 32, 3)
Valid set last image: truck_8068.png
x_valid.shape: (5000, 32, 32, 3)
Test set last image: frog_952.png
x_test.shape: (5000, 32, 32, 3)
원-핫 인코딩: 정수형 레이블을 벡터로 변환
print("y_train, y_test, y_valid one hot encoding\n")
print("Before")
print("y_train[0]:", y_train[0])
print("y_test[0]: ", y_test[0] )
print("y_valid[0]:", y_valid[0], "\n")
y_train = to_categorical(y_train, 10) # 10개의 클래스
y_test = to_categorical(y_test, 10)
y_valid = to_categorical(y_valid, 10)
print("After")
print("y_train[0]:", y_train[0])
print("y_test[0]: ", y_test[0] )
print("y_valid[0]:", y_valid[0])
y_train, y_test, y_valid one hot encoding
Before
y_train[0]: 6
y_test[0]: 4
y_valid[0]: 3
After
y_train[0]: [0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]
y_test[0]: [0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]
y_valid[0]: [0. 0. 0. 1. 0. 0. 0. 0. 0. 0.]
print("x_train, x_test, x_valid normalization\n")
print("Before")
ut.print_color_channel(x_train[0], 'red')
print()
x_train = ut.Normalize(x_train)
x_test = ut.Normalize(x_test)
x_valid = ut.Normalize(x_valid)
print("After")
ut.print_color_channel(x_train[0], 'red')
x_train, x_test, x_valid normalization
Before
10.0 14.0 13.0 31.0 142.0 110.0 53.0 32.0 64.0 93.0 86.0 38.0 38.0 36.0 20.0 3.0 3.0 11.0 4.0 2.0 4.0 4.0 41.0 93.0 51.0 28.0 21.0 21.0 4.0 7.0 6.0 2.0
14.0 16.0 13.0 32.0 112.0 70.0 36.0 18.0 27.0 60.0 69.0 44.0 47.0 50.0 11.0 6.0 10.0 8.0 1.0 0.0 1.0 11.0 34.0 70.0 73.0 15.0 13.0 12.0 3.0 14.0 6.0 2.0
20.0 17.0 14.0 30.0 83.0 49.0 24.0 1.0 28.0 76.0 54.0 50.0 43.0 52.0 31.0 54.0 39.0 9.0 1.0 1.0 0.0 14.0 36.0 52.0 88.0 39.0 9.0 5.0 4.0 15.0 4.0 4.0
28.0 24.0 20.0 32.0 82.0 38.0 22.0 8.0 66.0 159.0 125.0 97.0 103.0 104.0 109.0 137.0 107.0 86.0 103.0 74.0 39.0 24.0 36.0 50.0 58.0 72.0 14.0 7.0 10.0 10.0 11.0 37.0
37.0 34.0 31.0 42.0 95.0 49.0 15.0 13.0 96.0 177.0 205.0 204.0 228.0 196.0 147.0 143.0 73.0 120.0 188.0 185.0 166.0 128.0 108.0 95.0 68.0 82.0 44.0 0.0 7.0 2.0 26.0 64.0
55.0 50.0 47.0 60.0 106.0 45.0 19.0 32.0 81.0 141.0 200.0 213.0 225.0 196.0 116.0 78.0 39.0 76.0 107.0 101.0 100.0 120.0 130.0 155.0 175.0 120.0 91.0 69.0 25.0 5.0 25.0 38.0
70.0 63.0 58.0 77.0 121.0 50.0 20.0 16.0 61.0 152.0 200.0 180.0 180.0 199.0 121.0 46.0 36.0 86.0 123.0 58.0 53.0 97.0 103.0 125.0 196.0 156.0 66.0 142.0 99.0 20.0 9.0 22.0
76.0 72.0 67.0 87.0 117.0 63.0 16.0 35.0 110.0 193.0 219.0 200.0 198.0 208.0 179.0 113.0 94.0 140.0 165.0 104.0 83.0 155.0 195.0 199.0 225.0 197.0 113.0 87.0 110.0 44.0 0.0 5.0
85.0 81.0 78.0 90.0 60.0 41.0 42.0 84.0 178.0 208.0 196.0 208.0 221.0 220.0 211.0 192.0 183.0 187.0 180.0 150.0 131.0 168.0 223.0 227.0 233.0 197.0 172.0 89.0 83.0 57.0 24.0 8.0
94.0 91.0 90.0 74.0 28.0 23.0 96.0 137.0 196.0 201.0 186.0 194.0 197.0 204.0 201.0 197.0 194.0 190.0 181.0 170.0 170.0 169.0 219.0 219.0 199.0 178.0 166.0 150.0 103.0 66.0 43.0 15.0
103.0 101.0 95.0 53.0 25.0 28.0 106.0 143.0 168.0 171.0 156.0 149.0 137.0 139.0 150.0 167.0 180.0 179.0 174.0 168.0 167.0 177.0 189.0 158.0 131.0 114.0 123.0 158.0 124.0 51.0 32.0 8.0
114.0 111.0 97.0 39.0 24.0 14.0 62.0 138.0 144.0 136.0 119.0 114.0 104.0 103.0 106.0 106.0 114.0 130.0 133.0 143.0 164.0 180.0 153.0 116.0 135.0 119.0 96.0 133.0 125.0 29.0 23.0 28.0
125.0 121.0 100.0 29.0 14.0 15.0 74.0 156.0 149.0 119.0 100.0 102.0 91.0 86.0 92.0 86.0 81.0 87.0 90.0 126.0 176.0 190.0 160.0 167.0 175.0 132.0 88.0 99.0 101.0 21.0 13.0 38.0
129.0 126.0 95.0 23.0 6.0 45.0 167.0 212.0 145.0 109.0 91.0 82.0 75.0 72.0 75.0 71.0 69.0 71.0 84.0 128.0 138.0 124.0 144.0 180.0 169.0 103.0 60.0 63.0 54.0 10.0 8.0 21.0
127.0 125.0 84.0 18.0 0.0 82.0 234.0 227.0 168.0 118.0 87.0 75.0 72.0 72.0 65.0 66.0 69.0 82.0 105.0 119.0 96.0 110.0 135.0 182.0 147.0 84.0 48.0 23.0 13.0 3.0 4.0 6.0
124.0 120.0 64.0 14.0 15.0 124.0 231.0 217.0 187.0 154.0 115.0 90.0 82.0 75.0 76.0 87.0 96.0 111.0 115.0 90.0 83.0 107.0 128.0 165.0 120.0 83.0 36.0 6.0 3.0 5.0 5.0 5.0
128.0 111.0 36.0 23.0 61.0 145.0 223.0 193.0 181.0 174.0 147.0 126.0 108.0 97.0 107.0 108.0 112.0 112.0 84.0 69.0 74.0 78.0 127.0 124.0 92.0 65.0 24.0 3.0 3.0 8.0 4.0 6.0
131.0 83.0 18.0 30.0 82.0 144.0 218.0 189.0 163.0 171.0 150.0 135.0 118.0 107.0 110.0 99.0 97.0 88.0 64.0 68.0 57.0 68.0 117.0 93.0 69.0 40.0 11.0 1.0 10.0 17.0 1.0 2.0
122.0 49.0 31.0 42.0 33.0 125.0 220.0 205.0 157.0 143.0 143.0 121.0 107.0 100.0 94.0 90.0 88.0 64.0 59.0 64.0 51.0 64.0 76.0 57.0 46.0 18.0 2.0 0.0 10.0 11.0 2.0 1.0
92.0 37.0 39.0 35.0 18.0 83.0 192.0 198.0 166.0 110.0 102.0 91.0 87.0 82.0 72.0 63.0 59.0 76.0 91.0 96.0 105.0 72.0 40.0 32.0 26.0 13.0 5.0 2.0 2.0 5.0 2.0 5.0
43.0 14.0 19.0 12.0 52.0 38.0 140.0 169.0 174.0 119.0 82.0 58.0 56.0 56.0 44.0 32.0 74.0 101.0 70.0 54.0 66.0 68.0 37.0 22.0 29.0 22.0 15.0 15.0 12.0 4.0 3.0 5.0
25.0 16.0 11.0 21.0 77.0 26.0 127.0 110.0 102.0 149.0 53.0 27.0 23.0 28.0 21.0 22.0 68.0 25.0 30.0 55.0 31.0 25.0 19.0 21.0 19.0 13.0 5.0 8.0 15.0 8.0 8.0 4.0
37.0 42.0 27.0 49.0 75.0 20.0 134.0 66.0 10.0 110.0 117.0 19.0 12.0 18.0 24.0 29.0 16.0 1.0 20.0 33.0 21.0 14.0 16.0 15.0 4.0 5.0 11.0 3.0 6.0 9.0 7.0 4.0
30.0 32.0 12.0 28.0 32.0 16.0 124.0 38.0 0.0 17.0 117.0 77.0 17.0 23.0 59.0 28.0 12.0 3.0 18.0 30.0 16.0 20.0 11.0 7.0 3.0 0.0 6.0 17.0 20.0 17.0 10.0 2.0
6.0 8.0 4.0 11.0 20.0 30.0 120.0 20.0 0.0 1.0 59.0 120.0 67.0 77.0 95.0 17.0 33.0 47.0 30.0 24.0 30.0 26.0 4.0 9.0 9.0 1.0 0.0 10.0 14.0 11.0 15.0 31.0
7.0 5.0 15.0 22.0 33.0 21.0 43.0 6.0 0.0 6.0 63.0 119.0 118.0 160.0 115.0 27.0 76.0 117.0 41.0 35.0 43.0 20.0 13.0 20.0 9.0 0.0 6.0 9.0 27.0 16.0 10.0 21.0
8.0 4.0 28.0 25.0 24.0 12.0 9.0 6.0 7.0 9.0 77.0 150.0 169.0 202.0 163.0 53.0 81.0 105.0 31.0 24.0 14.0 3.0 8.0 12.0 4.0 6.0 8.0 14.0 25.0 11.0 14.0 5.0
2.0 0.0 19.0 8.0 5.0 9.0 18.0 7.0 7.0 6.0 109.0 178.0 174.0 160.0 62.0 13.0 68.0 94.0 26.0 6.0 4.0 5.0 12.0 8.0 4.0 8.0 4.0 13.0 56.0 15.0 7.0 11.0
34.0 71.0 14.0 4.0 5.0 6.0 10.0 5.0 3.0 6.0 122.0 122.0 125.0 136.0 37.0 1.0 74.0 89.0 14.0 9.0 4.0 7.0 27.0 11.0 2.0 7.0 6.0 14.0 73.0 56.0 17.0 29.0
105.0 127.0 12.0 4.0 6.0 4.0 4.0 5.0 1.0 4.0 95.0 78.0 64.0 123.0 70.0 16.0 72.0 77.0 8.0 5.0 2.0 10.0 52.0 22.0 3.0 16.0 16.0 14.0 38.0 60.0 47.0 58.0
120.0 62.0 8.0 6.0 6.0 9.0 9.0 5.0 1.0 14.0 124.0 88.0 35.0 76.0 54.0 43.0 82.0 112.0 77.0 15.0 3.0 15.0 48.0 16.0 10.0 17.0 16.0 8.0 28.0 31.0 38.0 82.0
151.0 35.0 3.0 4.0 5.0 13.0 7.0 2.0 1.0 23.0 141.0 128.0 88.0 78.0 71.0 77.0 127.0 183.0 164.0 54.0 14.0 33.0 39.0 19.0 8.0 6.0 6.0 0.0 31.0 49.0 42.0 51.0
After
-0.9 -0.9 -0.9 -0.8 0.1 -0.1 -0.6 -0.7 -0.5 -0.3 -0.3 -0.7 -0.7 -0.7 -0.8 -1.0 -1.0 -0.9 -1.0 -1.0 -1.0 -1.0 -0.7 -0.3 -0.6 -0.8 -0.8 -0.8 -1.0 -0.9 -1.0 -1.0
-0.9 -0.9 -0.9 -0.7 -0.1 -0.5 -0.7 -0.9 -0.8 -0.5 -0.5 -0.7 -0.6 -0.6 -0.9 -1.0 -0.9 -0.9 -1.0 -1.0 -1.0 -0.9 -0.7 -0.5 -0.4 -0.9 -0.9 -0.9 -1.0 -0.9 -1.0 -1.0
-0.8 -0.9 -0.9 -0.8 -0.3 -0.6 -0.8 -1.0 -0.8 -0.4 -0.6 -0.6 -0.7 -0.6 -0.8 -0.6 -0.7 -0.9 -1.0 -1.0 -1.0 -0.9 -0.7 -0.6 -0.3 -0.7 -0.9 -1.0 -1.0 -0.9 -1.0 -1.0
-0.8 -0.8 -0.8 -0.7 -0.4 -0.7 -0.8 -0.9 -0.5 0.2 -0.0 -0.2 -0.2 -0.2 -0.1 0.1 -0.2 -0.3 -0.2 -0.4 -0.7 -0.8 -0.7 -0.6 -0.5 -0.4 -0.9 -0.9 -0.9 -0.9 -0.9 -0.7
-0.7 -0.7 -0.8 -0.7 -0.3 -0.6 -0.9 -0.9 -0.2 0.4 0.6 0.6 0.8 0.5 0.2 0.1 -0.4 -0.1 0.5 0.5 0.3 0.0 -0.2 -0.3 -0.5 -0.4 -0.7 -1.0 -0.9 -1.0 -0.8 -0.5
-0.6 -0.6 -0.6 -0.5 -0.2 -0.6 -0.9 -0.7 -0.4 0.1 0.6 0.7 0.8 0.5 -0.1 -0.4 -0.7 -0.4 -0.2 -0.2 -0.2 -0.1 0.0 0.2 0.4 -0.1 -0.3 -0.5 -0.8 -1.0 -0.8 -0.7
-0.5 -0.5 -0.5 -0.4 -0.1 -0.6 -0.8 -0.9 -0.5 0.2 0.6 0.4 0.4 0.6 -0.1 -0.6 -0.7 -0.3 -0.0 -0.5 -0.6 -0.2 -0.2 -0.0 0.5 0.2 -0.5 0.1 -0.2 -0.8 -0.9 -0.8
-0.4 -0.4 -0.5 -0.3 -0.1 -0.5 -0.9 -0.7 -0.1 0.5 0.7 0.6 0.6 0.6 0.4 -0.1 -0.3 0.1 0.3 -0.2 -0.3 0.2 0.5 0.6 0.8 0.5 -0.1 -0.3 -0.1 -0.7 -1.0 -1.0
-0.3 -0.4 -0.4 -0.3 -0.5 -0.7 -0.7 -0.3 0.4 0.6 0.5 0.6 0.7 0.7 0.7 0.5 0.4 0.5 0.4 0.2 0.0 0.3 0.7 0.8 0.8 0.5 0.3 -0.3 -0.3 -0.6 -0.8 -0.9
-0.3 -0.3 -0.3 -0.4 -0.8 -0.8 -0.2 0.1 0.5 0.6 0.5 0.5 0.5 0.6 0.6 0.5 0.5 0.5 0.4 0.3 0.3 0.3 0.7 0.7 0.6 0.4 0.3 0.2 -0.2 -0.5 -0.7 -0.9
-0.2 -0.2 -0.3 -0.6 -0.8 -0.8 -0.2 0.1 0.3 0.3 0.2 0.2 0.1 0.1 0.2 0.3 0.4 0.4 0.4 0.3 0.3 0.4 0.5 0.2 0.0 -0.1 -0.0 0.2 -0.0 -0.6 -0.7 -0.9
-0.1 -0.1 -0.2 -0.7 -0.8 -0.9 -0.5 0.1 0.1 0.1 -0.1 -0.1 -0.2 -0.2 -0.2 -0.2 -0.1 0.0 0.0 0.1 0.3 0.4 0.2 -0.1 0.1 -0.1 -0.2 0.0 -0.0 -0.8 -0.8 -0.8
-0.0 -0.1 -0.2 -0.8 -0.9 -0.9 -0.4 0.2 0.2 -0.1 -0.2 -0.2 -0.3 -0.3 -0.3 -0.3 -0.4 -0.3 -0.3 -0.0 0.4 0.5 0.3 0.3 0.4 0.0 -0.3 -0.2 -0.2 -0.8 -0.9 -0.7
0.0 -0.0 -0.3 -0.8 -1.0 -0.6 0.3 0.7 0.1 -0.1 -0.3 -0.4 -0.4 -0.4 -0.4 -0.4 -0.5 -0.4 -0.3 0.0 0.1 -0.0 0.1 0.4 0.3 -0.2 -0.5 -0.5 -0.6 -0.9 -0.9 -0.8
-0.0 -0.0 -0.3 -0.9 -1.0 -0.4 0.8 0.8 0.3 -0.1 -0.3 -0.4 -0.4 -0.4 -0.5 -0.5 -0.5 -0.4 -0.2 -0.1 -0.2 -0.1 0.1 0.4 0.2 -0.3 -0.6 -0.8 -0.9 -1.0 -1.0 -1.0
-0.0 -0.1 -0.5 -0.9 -0.9 -0.0 0.8 0.7 0.5 0.2 -0.1 -0.3 -0.4 -0.4 -0.4 -0.3 -0.2 -0.1 -0.1 -0.3 -0.3 -0.2 0.0 0.3 -0.1 -0.3 -0.7 -1.0 -1.0 -1.0 -1.0 -1.0
0.0 -0.1 -0.7 -0.8 -0.5 0.1 0.7 0.5 0.4 0.4 0.2 -0.0 -0.2 -0.2 -0.2 -0.2 -0.1 -0.1 -0.3 -0.5 -0.4 -0.4 -0.0 -0.0 -0.3 -0.5 -0.8 -1.0 -1.0 -0.9 -1.0 -1.0
0.0 -0.3 -0.9 -0.8 -0.4 0.1 0.7 0.5 0.3 0.3 0.2 0.1 -0.1 -0.2 -0.1 -0.2 -0.2 -0.3 -0.5 -0.5 -0.6 -0.5 -0.1 -0.3 -0.5 -0.7 -0.9 -1.0 -0.9 -0.9 -1.0 -1.0
-0.0 -0.6 -0.8 -0.7 -0.7 -0.0 0.7 0.6 0.2 0.1 0.1 -0.1 -0.2 -0.2 -0.3 -0.3 -0.3 -0.5 -0.5 -0.5 -0.6 -0.5 -0.4 -0.6 -0.6 -0.9 -1.0 -1.0 -0.9 -0.9 -1.0 -1.0
-0.3 -0.7 -0.7 -0.7 -0.9 -0.3 0.5 0.6 0.3 -0.1 -0.2 -0.3 -0.3 -0.4 -0.4 -0.5 -0.5 -0.4 -0.3 -0.2 -0.2 -0.4 -0.7 -0.7 -0.8 -0.9 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0
-0.7 -0.9 -0.9 -0.9 -0.6 -0.7 0.1 0.3 0.4 -0.1 -0.4 -0.5 -0.6 -0.6 -0.7 -0.7 -0.4 -0.2 -0.5 -0.6 -0.5 -0.5 -0.7 -0.8 -0.8 -0.8 -0.9 -0.9 -0.9 -1.0 -1.0 -1.0
-0.8 -0.9 -0.9 -0.8 -0.4 -0.8 -0.0 -0.1 -0.2 0.2 -0.6 -0.8 -0.8 -0.8 -0.8 -0.8 -0.5 -0.8 -0.8 -0.6 -0.8 -0.8 -0.9 -0.8 -0.9 -0.9 -1.0 -0.9 -0.9 -0.9 -0.9 -1.0
-0.7 -0.7 -0.8 -0.6 -0.4 -0.8 0.1 -0.5 -0.9 -0.1 -0.1 -0.9 -0.9 -0.9 -0.8 -0.8 -0.9 -1.0 -0.8 -0.7 -0.8 -0.9 -0.9 -0.9 -1.0 -1.0 -0.9 -1.0 -1.0 -0.9 -0.9 -1.0
-0.8 -0.7 -0.9 -0.8 -0.7 -0.9 -0.0 -0.7 -1.0 -0.9 -0.1 -0.4 -0.9 -0.8 -0.5 -0.8 -0.9 -1.0 -0.9 -0.8 -0.9 -0.8 -0.9 -0.9 -1.0 -1.0 -1.0 -0.9 -0.8 -0.9 -0.9 -1.0
-1.0 -0.9 -1.0 -0.9 -0.8 -0.8 -0.1 -0.8 -1.0 -1.0 -0.5 -0.1 -0.5 -0.4 -0.3 -0.9 -0.7 -0.6 -0.8 -0.8 -0.8 -0.8 -1.0 -0.9 -0.9 -1.0 -1.0 -0.9 -0.9 -0.9 -0.9 -0.8
-0.9 -1.0 -0.9 -0.8 -0.7 -0.8 -0.7 -1.0 -1.0 -1.0 -0.5 -0.1 -0.1 0.3 -0.1 -0.8 -0.4 -0.1 -0.7 -0.7 -0.7 -0.8 -0.9 -0.8 -0.9 -1.0 -1.0 -0.9 -0.8 -0.9 -0.9 -0.8
-0.9 -1.0 -0.8 -0.8 -0.8 -0.9 -0.9 -1.0 -0.9 -0.9 -0.4 0.2 0.3 0.6 0.3 -0.6 -0.4 -0.2 -0.8 -0.8 -0.9 -1.0 -0.9 -0.9 -1.0 -1.0 -0.9 -0.9 -0.8 -0.9 -0.9 -1.0
-1.0 -1.0 -0.9 -0.9 -1.0 -0.9 -0.9 -0.9 -0.9 -1.0 -0.1 0.4 0.4 0.3 -0.5 -0.9 -0.5 -0.3 -0.8 -1.0 -1.0 -1.0 -0.9 -0.9 -1.0 -0.9 -1.0 -0.9 -0.6 -0.9 -0.9 -0.9
-0.7 -0.4 -0.9 -1.0 -1.0 -1.0 -0.9 -1.0 -1.0 -1.0 -0.0 -0.0 -0.0 0.1 -0.7 -1.0 -0.4 -0.3 -0.9 -0.9 -1.0 -0.9 -0.8 -0.9 -1.0 -0.9 -1.0 -0.9 -0.4 -0.6 -0.9 -0.8
-0.2 -0.0 -0.9 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -0.3 -0.4 -0.5 -0.0 -0.5 -0.9 -0.4 -0.4 -0.9 -1.0 -1.0 -0.9 -0.6 -0.8 -1.0 -0.9 -0.9 -0.9 -0.7 -0.5 -0.6 -0.5
-0.1 -0.5 -0.9 -1.0 -1.0 -0.9 -0.9 -1.0 -1.0 -0.9 -0.0 -0.3 -0.7 -0.4 -0.6 -0.7 -0.4 -0.1 -0.4 -0.9 -1.0 -0.9 -0.6 -0.9 -0.9 -0.9 -0.9 -0.9 -0.8 -0.8 -0.7 -0.4
0.2 -0.7 -1.0 -1.0 -1.0 -0.9 -0.9 -1.0 -1.0 -0.8 0.1 0.0 -0.3 -0.4 -0.4 -0.4 -0.0 0.4 0.3 -0.6 -0.9 -0.7 -0.7 -0.9 -0.9 -1.0 -1.0 -1.0 -0.8 -0.6 -0.7 -0.6
# Classifiers 모듈에서 ResNet18 클래스와 전처리 함수를 가져옴
ResNet18, preprocess_input = Classifiers.get("resnet18")
# build new model for CIFAR10
base_model = ResNet18(
input_shape = (32,32,3) , # 입력 이미지의 크기: 32x32x3
weights = "imagenet" , # 가중치는 이미지넷 데이터셋에 대해 학습된 것을 사용
include_top = False # include_top: 마지막 층을 포함할지 여부
) # False로 설정하면 마지막 층을 제외하고 모델을 생성
# CIFAR10 데이터셋에 맞게 새로운 마지막 층을 추가하기 위함
# 첫번째 괄호: GlobalAveragePooling2D() 객체 생성
x_layer = keras.layers.GlobalAveragePooling2D()(base_model.output) # 모델의 출력에 전역 평균 풀링 층 추가
# 두번째 괄호: 생성된 객체의 call 메서드 호출
# GlobalAveragePooling2D: 각 채널별로 평균 값을 구하는 층, 마지막 층에 연결하기 위해 차원을 줄이는 역할
# GlobalAveragePooling층의 출력에 fully connected layer을 추가
# fully connected layer은 CIFAR10 데이터셋의 클래스 개수의 노드로 구성됨
# 활성화 함수로 소프트맥스 함수를 사용하여 각 클래스에 대한 확률을 출력
# 다항분류는 softmax, 이항분류는 sigmoid
output = keras.layers.Dense(cfg.NUM_CLASSES, activation="softmax")(x_layer)
# base_model과 새로운 마지막 층을 연결한 모델 생성
model = keras.models.Model(inputs=[base_model.input], outputs=[output])
# 최적화 알고리즘으로 SGD(확률적 경사 하강법)를 사용
# opt = SGD(learning_rate=cfg.INIT_LR, momentum=0.9)
# learning_rate (학습률): 가중치를 업데이트할 때 얼마나 크게 변경할지를 결정하는 파라미터
# momentum (모멘텀): 이전 업데이트의 방향과 크기를 반영하여 가중치를 업데이트
# 모델 컴파일: 모델의 구조와 손실 함수, 최적화 알고리즘, 평가 지표 등을 설정하는 과정
# model.compile(loss="categorical_crossentropy", optimizer=opt, metrics=["accuracy"])
model.compile(loss="categorical_crossentropy", optimizer='adam', metrics=["accuracy"])
# 손실 함수: 다항 분류에 사용되는 교차 엔트로피 오차 함수, 최적화 알고리즘: SGD, 평가 지표: 정확도
model.summary() # 모델의 구조를 출력
# CNN 모델의 구조를 시각화
# 모델의 구조를 저장할 파일의 경로를 model_filename에 저장
# os.path.join(): 주어진 문자열들을 경로 구분자로 연결하는 함수
model_filename = os.path.join(cfg.SCRIPT_DIR, "log_file/train1_float_model.png")
# cfg.SCRIPT_DIR: 스크립트가 위치한 폴더
# 모델의 구조를 model_filename에 지정한 경로에 PNG 파일로 저장
# plot_model(): 케라스 모델의 구조를 그래프로 시각화하는 함수
# show_shapes: 각 층의 입력과 출력의 형태를 표시할지 여부를 결정하는 인자
plot_model(model, to_file=model_filename, show_shapes=True)
# 모델의 가중치를 저장할 파일의 경로를 fname에 저장
# os.path.sep.join: 주어진 리스트의 원소들을 경로 구분자로 연결하는 함수
# WEIGHTS: 가중치를 저장할 폴더의 경로
fname = os.path.sep.join([cfg.WEIGHTS, "train1_best_chkpt.h5"])
# ModelCheckpoint는 모델의 가중치를 파일로 저장하는 콜백 함수
checkpoint = ModelCheckpoint(
filepath = fname ,
monitor = "val_accuracy" , # 모니터링할 지표: 검증 정확도
mode = "max" , # 값이 최대가 되는 모델을 저장하도록 설정
save_best_only = True , # 가장 좋은 성능을 낸 모델만 저장하도록 설정
verbose = 1 # 저장할 때 메시지를 출력하도록 설정
)
# EarlyStopping: 자동 중단 콜백
early_stopping_callback = EarlyStopping(
monitor = 'val_accuracy',
patience = 8 ,
restore_best_weights = True
)
# 다항식 감쇠(polynomial decay)를 적용하는 함수
# 다항식 감쇠: 학습률을 에폭에 따라 점차 줄여나가는 방법
# 학습률: 모델의 가중치를 업데이트할 때 얼마나 크게 변경할지를 결정하는 파라미터
# initialize the maximum number of epochs, base learning rate, and power of the polynomial
# 콜백 함수들을 담은 리스트
callbacks_list = [checkpoint, early_stopping_callback]
# poly_decay 함수를 인자로 전달하여 학습률을 다항식 감쇠로 조절하도록 설정
2024-02-15 04:29:08.835417: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.907684: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.907979: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.909827: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.910068: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.910294: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.986476: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.986820: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.986837: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1722] Could not identify NUMA node of platform GPU id 0, defaulting to 0. Your kernel may not have been built with NUMA support.
2024-02-15 04:29:08.987058: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:29:08.987128: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1635] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1439 MB memory: -> device: 0, name: NVIDIA GeForce GTX 960, pci bus id: 0000:26:00.0, compute capability: 5.2
Downloading data from https://github.com/qubvel/classification_models/releases/download/0.0.1/resnet18_imagenet_1000_no_top.h5
44920640/44920640 [==============================] - 4s 0us/step
Model: "model_1"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
data (InputLayer) [(None, 32, 32, 3)] 0 []
bn_data (BatchNormalization) (None, 32, 32, 3) 9 ['data[0][0]']
zero_padding2d (ZeroPadding2D) (None, 38, 38, 3) 0 ['bn_data[0][0]']
conv0 (Conv2D) (None, 16, 16, 64) 9408 ['zero_padding2d[0][0]']
bn0 (BatchNormalization) (None, 16, 16, 64) 256 ['conv0[0][0]']
relu0 (Activation) (None, 16, 16, 64) 0 ['bn0[0][0]']
zero_padding2d_1 (ZeroPadding2 (None, 18, 18, 64) 0 ['relu0[0][0]']
D)
pooling0 (MaxPooling2D) (None, 8, 8, 64) 0 ['zero_padding2d_1[0][0]']
stage1_unit1_bn1 (BatchNormali (None, 8, 8, 64) 256 ['pooling0[0][0]']
zation)
stage1_unit1_relu1 (Activation (None, 8, 8, 64) 0 ['stage1_unit1_bn1[0][0]']
)
zero_padding2d_2 (ZeroPadding2 (None, 10, 10, 64) 0 ['stage1_unit1_relu1[0][0]']
D)
stage1_unit1_conv1 (Conv2D) (None, 8, 8, 64) 36864 ['zero_padding2d_2[0][0]']
stage1_unit1_bn2 (BatchNormali (None, 8, 8, 64) 256 ['stage1_unit1_conv1[0][0]']
zation)
stage1_unit1_relu2 (Activation (None, 8, 8, 64) 0 ['stage1_unit1_bn2[0][0]']
)
zero_padding2d_3 (ZeroPadding2 (None, 10, 10, 64) 0 ['stage1_unit1_relu2[0][0]']
D)
stage1_unit1_conv2 (Conv2D) (None, 8, 8, 64) 36864 ['zero_padding2d_3[0][0]']
stage1_unit1_sc (Conv2D) (None, 8, 8, 64) 4096 ['stage1_unit1_relu1[0][0]']
add (Add) (None, 8, 8, 64) 0 ['stage1_unit1_conv2[0][0]',
'stage1_unit1_sc[0][0]']
stage1_unit2_bn1 (BatchNormali (None, 8, 8, 64) 256 ['add[0][0]']
zation)
stage1_unit2_relu1 (Activation (None, 8, 8, 64) 0 ['stage1_unit2_bn1[0][0]']
)
zero_padding2d_4 (ZeroPadding2 (None, 10, 10, 64) 0 ['stage1_unit2_relu1[0][0]']
D)
stage1_unit2_conv1 (Conv2D) (None, 8, 8, 64) 36864 ['zero_padding2d_4[0][0]']
stage1_unit2_bn2 (BatchNormali (None, 8, 8, 64) 256 ['stage1_unit2_conv1[0][0]']
zation)
stage1_unit2_relu2 (Activation (None, 8, 8, 64) 0 ['stage1_unit2_bn2[0][0]']
)
zero_padding2d_5 (ZeroPadding2 (None, 10, 10, 64) 0 ['stage1_unit2_relu2[0][0]']
D)
stage1_unit2_conv2 (Conv2D) (None, 8, 8, 64) 36864 ['zero_padding2d_5[0][0]']
add_1 (Add) (None, 8, 8, 64) 0 ['stage1_unit2_conv2[0][0]',
'add[0][0]']
stage2_unit1_bn1 (BatchNormali (None, 8, 8, 64) 256 ['add_1[0][0]']
zation)
stage2_unit1_relu1 (Activation (None, 8, 8, 64) 0 ['stage2_unit1_bn1[0][0]']
)
zero_padding2d_6 (ZeroPadding2 (None, 10, 10, 64) 0 ['stage2_unit1_relu1[0][0]']
D)
stage2_unit1_conv1 (Conv2D) (None, 4, 4, 128) 73728 ['zero_padding2d_6[0][0]']
stage2_unit1_bn2 (BatchNormali (None, 4, 4, 128) 512 ['stage2_unit1_conv1[0][0]']
zation)
stage2_unit1_relu2 (Activation (None, 4, 4, 128) 0 ['stage2_unit1_bn2[0][0]']
)
zero_padding2d_7 (ZeroPadding2 (None, 6, 6, 128) 0 ['stage2_unit1_relu2[0][0]']
D)
stage2_unit1_conv2 (Conv2D) (None, 4, 4, 128) 147456 ['zero_padding2d_7[0][0]']
stage2_unit1_sc (Conv2D) (None, 4, 4, 128) 8192 ['stage2_unit1_relu1[0][0]']
add_2 (Add) (None, 4, 4, 128) 0 ['stage2_unit1_conv2[0][0]',
'stage2_unit1_sc[0][0]']
stage2_unit2_bn1 (BatchNormali (None, 4, 4, 128) 512 ['add_2[0][0]']
zation)
stage2_unit2_relu1 (Activation (None, 4, 4, 128) 0 ['stage2_unit2_bn1[0][0]']
)
zero_padding2d_8 (ZeroPadding2 (None, 6, 6, 128) 0 ['stage2_unit2_relu1[0][0]']
D)
stage2_unit2_conv1 (Conv2D) (None, 4, 4, 128) 147456 ['zero_padding2d_8[0][0]']
stage2_unit2_bn2 (BatchNormali (None, 4, 4, 128) 512 ['stage2_unit2_conv1[0][0]']
zation)
stage2_unit2_relu2 (Activation (None, 4, 4, 128) 0 ['stage2_unit2_bn2[0][0]']
)
zero_padding2d_9 (ZeroPadding2 (None, 6, 6, 128) 0 ['stage2_unit2_relu2[0][0]']
D)
stage2_unit2_conv2 (Conv2D) (None, 4, 4, 128) 147456 ['zero_padding2d_9[0][0]']
add_3 (Add) (None, 4, 4, 128) 0 ['stage2_unit2_conv2[0][0]',
'add_2[0][0]']
stage3_unit1_bn1 (BatchNormali (None, 4, 4, 128) 512 ['add_3[0][0]']
zation)
stage3_unit1_relu1 (Activation (None, 4, 4, 128) 0 ['stage3_unit1_bn1[0][0]']
)
zero_padding2d_10 (ZeroPadding (None, 6, 6, 128) 0 ['stage3_unit1_relu1[0][0]']
2D)
stage3_unit1_conv1 (Conv2D) (None, 2, 2, 256) 294912 ['zero_padding2d_10[0][0]']
stage3_unit1_bn2 (BatchNormali (None, 2, 2, 256) 1024 ['stage3_unit1_conv1[0][0]']
zation)
stage3_unit1_relu2 (Activation (None, 2, 2, 256) 0 ['stage3_unit1_bn2[0][0]']
)
zero_padding2d_11 (ZeroPadding (None, 4, 4, 256) 0 ['stage3_unit1_relu2[0][0]']
2D)
stage3_unit1_conv2 (Conv2D) (None, 2, 2, 256) 589824 ['zero_padding2d_11[0][0]']
stage3_unit1_sc (Conv2D) (None, 2, 2, 256) 32768 ['stage3_unit1_relu1[0][0]']
add_4 (Add) (None, 2, 2, 256) 0 ['stage3_unit1_conv2[0][0]',
'stage3_unit1_sc[0][0]']
stage3_unit2_bn1 (BatchNormali (None, 2, 2, 256) 1024 ['add_4[0][0]']
zation)
stage3_unit2_relu1 (Activation (None, 2, 2, 256) 0 ['stage3_unit2_bn1[0][0]']
)
zero_padding2d_12 (ZeroPadding (None, 4, 4, 256) 0 ['stage3_unit2_relu1[0][0]']
2D)
stage3_unit2_conv1 (Conv2D) (None, 2, 2, 256) 589824 ['zero_padding2d_12[0][0]']
stage3_unit2_bn2 (BatchNormali (None, 2, 2, 256) 1024 ['stage3_unit2_conv1[0][0]']
zation)
stage3_unit2_relu2 (Activation (None, 2, 2, 256) 0 ['stage3_unit2_bn2[0][0]']
)
zero_padding2d_13 (ZeroPadding (None, 4, 4, 256) 0 ['stage3_unit2_relu2[0][0]']
2D)
stage3_unit2_conv2 (Conv2D) (None, 2, 2, 256) 589824 ['zero_padding2d_13[0][0]']
add_5 (Add) (None, 2, 2, 256) 0 ['stage3_unit2_conv2[0][0]',
'add_4[0][0]']
stage4_unit1_bn1 (BatchNormali (None, 2, 2, 256) 1024 ['add_5[0][0]']
zation)
stage4_unit1_relu1 (Activation (None, 2, 2, 256) 0 ['stage4_unit1_bn1[0][0]']
)
zero_padding2d_14 (ZeroPadding (None, 4, 4, 256) 0 ['stage4_unit1_relu1[0][0]']
2D)
stage4_unit1_conv1 (Conv2D) (None, 1, 1, 512) 1179648 ['zero_padding2d_14[0][0]']
stage4_unit1_bn2 (BatchNormali (None, 1, 1, 512) 2048 ['stage4_unit1_conv1[0][0]']
zation)
stage4_unit1_relu2 (Activation (None, 1, 1, 512) 0 ['stage4_unit1_bn2[0][0]']
)
zero_padding2d_15 (ZeroPadding (None, 3, 3, 512) 0 ['stage4_unit1_relu2[0][0]']
2D)
stage4_unit1_conv2 (Conv2D) (None, 1, 1, 512) 2359296 ['zero_padding2d_15[0][0]']
stage4_unit1_sc (Conv2D) (None, 1, 1, 512) 131072 ['stage4_unit1_relu1[0][0]']
add_6 (Add) (None, 1, 1, 512) 0 ['stage4_unit1_conv2[0][0]',
'stage4_unit1_sc[0][0]']
stage4_unit2_bn1 (BatchNormali (None, 1, 1, 512) 2048 ['add_6[0][0]']
zation)
stage4_unit2_relu1 (Activation (None, 1, 1, 512) 0 ['stage4_unit2_bn1[0][0]']
)
zero_padding2d_16 (ZeroPadding (None, 3, 3, 512) 0 ['stage4_unit2_relu1[0][0]']
2D)
stage4_unit2_conv1 (Conv2D) (None, 1, 1, 512) 2359296 ['zero_padding2d_16[0][0]']
stage4_unit2_bn2 (BatchNormali (None, 1, 1, 512) 2048 ['stage4_unit2_conv1[0][0]']
zation)
stage4_unit2_relu2 (Activation (None, 1, 1, 512) 0 ['stage4_unit2_bn2[0][0]']
)
zero_padding2d_17 (ZeroPadding (None, 3, 3, 512) 0 ['stage4_unit2_relu2[0][0]']
2D)
stage4_unit2_conv2 (Conv2D) (None, 1, 1, 512) 2359296 ['zero_padding2d_17[0][0]']
add_7 (Add) (None, 1, 1, 512) 0 ['stage4_unit2_conv2[0][0]',
'add_6[0][0]']
bn1 (BatchNormalization) (None, 1, 1, 512) 2048 ['add_7[0][0]']
relu1 (Activation) (None, 1, 1, 512) 0 ['bn1[0][0]']
global_average_pooling2d (Glob (None, 512) 0 ['relu1[0][0]']
alAveragePooling2D)
dense (Dense) (None, 10) 5130 ['global_average_pooling2d[0][0]'
]
==================================================================================================
Total params: 11,192,019
Trainable params: 11,184,077
Non-trainable params: 7,942
__________________________________________________________________________________________________
# datetime.now() 함수는 현재 시간을 datetime 객체로 반환하는 함수
startTime1 = datetime.now() #DB # 모델 학습의 시작 시간을 startTime1에 저장
# run training/media/danieleb/DATA$
# .fit() 모델을 학습하는 메서드
H = model.fit( # H: 학습 과정에서의 손실과 정확도 등의 정보가 담김
x_train,
y_train,
# 스텝 수: 한 에폭에서 몇 번의 배치 학습을 수행할지를 결정하는 값
steps_per_epoch = len(x_train)//cfg.BATCH_SIZE , # 학습 데이터의 개수를 배치 크기로 나눈 몫을 스텝 수로
# 에폭 수: 전체 학습 데이터를 몇 번 반복해서 학습할지를 결정하는 값
epochs = cfg.NUM_EPOCHS ,
# 배치 크기: 한 번에 학습할 이미지의 개수
batch_size = cfg.BATCH_SIZE ,
# 검증 데이터: 학습 데이터와 별도로 학습이 진행되는 도중에 모델의 성능을 평가하기 위해 사용하는 데이터
validation_data = (x_valid, y_valid) ,
# 검증 스텝 수: 한 에폭에서 몇 번의 배치 검증을 수행할지
validation_steps = len(x_valid)//cfg.BATCH_SIZE , # 학습 데이터의 개수를 배치 크기로 나눈 몫을 검증 스텝 수로
# 콜백 함수: 모델 학습 중에 특정 시점에 실행되는 함수
# 학습 과정을 모니터링하고, 모델의 성능을 개선하고, 학습률을 조절하는 등의 작업을 수행
callbacks = callbacks_list ,
# 데이터를 섞을지 여부
shuffle = True , # 학습 데이터의 순서에 따른 편향을 방지
)
# datetime.now(): 현재 시간을 datetime 객체로 반환하는 함수
endTime1 = datetime.now() # 모델 학습의 종료 시간을 endTime1에 저장
# datetime 객체끼리 빼면 두 시간의 차이를 나타내는 timedelta 객체가 반환
diff1 = endTime1 - startTime1 # 모델 학습에 걸린 시간을 diff1에 저장
print("\n")
print("Elapsed time for Keras training (s): ", diff1.total_seconds())
print("\n")
# save CNN complete model on HDF5 file #DB
# CNN 모델의 구조와 가중치를 HDF5 파일로 저장
# os.path.sep.join 함수는 주어진 리스트의 원소들을 경로 구분자로 연결하는 함수
fname1 = os.path.sep.join([cfg.WEIGHTS, "train1_final.h5"]) # 모델을 저장할 파일의 경로를 fname1에 저장
# WEIGHTS: 모델을 저장할 폴더
# .save(): 모델의 구조와 가중치를 파일로 저장하는 메서드
model.save(fname1) # 모델을 fname1에 지정한 경로에 HDF5 파일로 저장
2024-02-15 04:29:15.212310: W tensorflow/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 614400000 exceeds 10% of free system memory.
2024-02-15 04:29:15.942938: W tensorflow/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 614400000 exceeds 10% of free system memory.
Epoch 1/50
2024-02-15 04:29:20.545797: I tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:424] Loaded cuDNN version 8906
2024-02-15 04:29:20.641948: I tensorflow/tsl/platform/default/subprocess.cc:304] Start cannot spawn child process: No such file or directory
2024-02-15 04:29:21.231517: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 832.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:21.550713: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 889.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:21.550776: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.14GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:21.588289: I tensorflow/compiler/xla/service/service.cc:169] XLA service 0x55c6bc4be760 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2024-02-15 04:29:21.588327: I tensorflow/compiler/xla/service/service.cc:177] StreamExecutor device (0): NVIDIA GeForce GTX 960, Compute Capability 5.2
2024-02-15 04:29:21.618732: I tensorflow/compiler/mlir/tensorflow/utils/dump_mlir_util.cc:269] disabling MLIR crash reproducer, set env var `MLIR_CRASH_REPRODUCER_DIRECTORY` to enable.
2024-02-15 04:29:21.816582: I tensorflow/tsl/platform/default/subprocess.cc:304] Start cannot spawn child process: No such file or directory
2024-02-15 04:29:21.882148: I ./tensorflow/compiler/jit/device_compiler.h:180] Compiled cluster using XLA! This line is logged at most once for the lifetime of the process.
2024-02-15 04:29:22.279673: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 889.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:22.382608: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 2.14GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:22.851084: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 592.50MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:23.465589: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.43GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:24.029859: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.34GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:24.029924: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.44GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:29:24.509245: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 832.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
195/195 [==============================] - ETA: 0s - loss: 0.8211 - accuracy: 0.7193
Epoch 1: val_accuracy improved from -inf to 0.10074, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 36s 121ms/step - loss: 0.8211 - accuracy: 0.7193 - val_loss: 5.7110 - val_accuracy: 0.1007
Epoch 2/50
195/195 [==============================] - ETA: 0s - loss: 0.4691 - accuracy: 0.8372
Epoch 2: val_accuracy did not improve from 0.10074
195/195 [==============================] - 24s 116ms/step - loss: 0.4691 - accuracy: 0.8372 - val_loss: 4.2703 - val_accuracy: 0.1007
Epoch 3/50
195/195 [==============================] - ETA: 0s - loss: 0.3329 - accuracy: 0.8833
Epoch 3: val_accuracy improved from 0.10074 to 0.25905, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.3329 - accuracy: 0.8833 - val_loss: 3.2250 - val_accuracy: 0.2590
Epoch 4/50
195/195 [==============================] - ETA: 0s - loss: 0.2435 - accuracy: 0.9148
Epoch 4: val_accuracy improved from 0.25905 to 0.63322, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.2435 - accuracy: 0.9148 - val_loss: 1.2782 - val_accuracy: 0.6332
Epoch 5/50
195/195 [==============================] - ETA: 0s - loss: 0.1741 - accuracy: 0.9390
Epoch 5: val_accuracy improved from 0.63322 to 0.74095, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.1741 - accuracy: 0.9390 - val_loss: 0.9513 - val_accuracy: 0.7410
Epoch 6/50
195/195 [==============================] - ETA: 0s - loss: 0.1387 - accuracy: 0.9516
Epoch 6: val_accuracy improved from 0.74095 to 0.78310, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.1387 - accuracy: 0.9516 - val_loss: 0.8350 - val_accuracy: 0.7831
Epoch 7/50
195/195 [==============================] - ETA: 0s - loss: 0.1067 - accuracy: 0.9625
Epoch 7: val_accuracy improved from 0.78310 to 0.78845, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.1067 - accuracy: 0.9625 - val_loss: 0.9664 - val_accuracy: 0.7884
Epoch 8/50
195/195 [==============================] - ETA: 0s - loss: 0.0966 - accuracy: 0.9662
Epoch 8: val_accuracy did not improve from 0.78845
195/195 [==============================] - 23s 116ms/step - loss: 0.0966 - accuracy: 0.9662 - val_loss: 0.9289 - val_accuracy: 0.7876
Epoch 9/50
195/195 [==============================] - ETA: 0s - loss: 0.0759 - accuracy: 0.9744
Epoch 9: val_accuracy improved from 0.78845 to 0.80448, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.0759 - accuracy: 0.9744 - val_loss: 0.8929 - val_accuracy: 0.8045
Epoch 10/50
195/195 [==============================] - ETA: 0s - loss: 0.0738 - accuracy: 0.9744
Epoch 10: val_accuracy did not improve from 0.80448
195/195 [==============================] - 23s 116ms/step - loss: 0.0738 - accuracy: 0.9744 - val_loss: 1.0552 - val_accuracy: 0.7780
Epoch 11/50
195/195 [==============================] - ETA: 0s - loss: 0.0614 - accuracy: 0.9783
Epoch 11: val_accuracy did not improve from 0.80448
195/195 [==============================] - 23s 116ms/step - loss: 0.0614 - accuracy: 0.9783 - val_loss: 0.9502 - val_accuracy: 0.8024
Epoch 12/50
195/195 [==============================] - ETA: 0s - loss: 0.0577 - accuracy: 0.9800
Epoch 12: val_accuracy improved from 0.80448 to 0.81538, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.0577 - accuracy: 0.9800 - val_loss: 0.8886 - val_accuracy: 0.8154
Epoch 13/50
195/195 [==============================] - ETA: 0s - loss: 0.0487 - accuracy: 0.9825
Epoch 13: val_accuracy did not improve from 0.81538
195/195 [==============================] - 23s 116ms/step - loss: 0.0487 - accuracy: 0.9825 - val_loss: 0.9248 - val_accuracy: 0.8100
Epoch 14/50
195/195 [==============================] - ETA: 0s - loss: 0.0507 - accuracy: 0.9823
Epoch 14: val_accuracy did not improve from 0.81538
195/195 [==============================] - 23s 116ms/step - loss: 0.0507 - accuracy: 0.9823 - val_loss: 0.9390 - val_accuracy: 0.8139
Epoch 15/50
195/195 [==============================] - ETA: 0s - loss: 0.0442 - accuracy: 0.9845
Epoch 15: val_accuracy did not improve from 0.81538
195/195 [==============================] - 23s 116ms/step - loss: 0.0442 - accuracy: 0.9845 - val_loss: 0.9896 - val_accuracy: 0.8109
Epoch 16/50
195/195 [==============================] - ETA: 0s - loss: 0.0412 - accuracy: 0.9856
Epoch 16: val_accuracy did not improve from 0.81538
195/195 [==============================] - 23s 116ms/step - loss: 0.0412 - accuracy: 0.9856 - val_loss: 1.0364 - val_accuracy: 0.7995
Epoch 17/50
195/195 [==============================] - ETA: 0s - loss: 0.0489 - accuracy: 0.9828
Epoch 17: val_accuracy did not improve from 0.81538
195/195 [==============================] - 23s 116ms/step - loss: 0.0489 - accuracy: 0.9828 - val_loss: 1.0445 - val_accuracy: 0.8037
Epoch 18/50
195/195 [==============================] - ETA: 0s - loss: 0.0416 - accuracy: 0.9858
Epoch 18: val_accuracy did not improve from 0.81538
195/195 [==============================] - 23s 116ms/step - loss: 0.0416 - accuracy: 0.9858 - val_loss: 1.0034 - val_accuracy: 0.8072
Epoch 19/50
195/195 [==============================] - ETA: 0s - loss: 0.0354 - accuracy: 0.9877
Epoch 19: val_accuracy improved from 0.81538 to 0.82031, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 117ms/step - loss: 0.0354 - accuracy: 0.9877 - val_loss: 0.9510 - val_accuracy: 0.8203
Epoch 20/50
195/195 [==============================] - ETA: 0s - loss: 0.0343 - accuracy: 0.9884
Epoch 20: val_accuracy improved from 0.82031 to 0.82052, saving model to float_model/train1_best_chkpt.h5
195/195 [==============================] - 23s 118ms/step - loss: 0.0343 - accuracy: 0.9884 - val_loss: 0.9574 - val_accuracy: 0.8205
Epoch 21/50
195/195 [==============================] - ETA: 0s - loss: 0.0369 - accuracy: 0.9876
Epoch 21: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0369 - accuracy: 0.9876 - val_loss: 1.0242 - val_accuracy: 0.8063
Epoch 22/50
195/195 [==============================] - ETA: 0s - loss: 0.0305 - accuracy: 0.9896
Epoch 22: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0305 - accuracy: 0.9896 - val_loss: 1.0316 - val_accuracy: 0.8086
Epoch 23/50
195/195 [==============================] - ETA: 0s - loss: 0.0374 - accuracy: 0.9874
Epoch 23: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0374 - accuracy: 0.9874 - val_loss: 1.0737 - val_accuracy: 0.7993
Epoch 24/50
195/195 [==============================] - ETA: 0s - loss: 0.0324 - accuracy: 0.9894
Epoch 24: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0324 - accuracy: 0.9894 - val_loss: 1.0614 - val_accuracy: 0.8006
Epoch 25/50
195/195 [==============================] - ETA: 0s - loss: 0.0359 - accuracy: 0.9877
Epoch 25: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0359 - accuracy: 0.9877 - val_loss: 0.9652 - val_accuracy: 0.8150
Epoch 26/50
195/195 [==============================] - ETA: 0s - loss: 0.0307 - accuracy: 0.9894
Epoch 26: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0307 - accuracy: 0.9894 - val_loss: 1.1711 - val_accuracy: 0.7831
Epoch 27/50
195/195 [==============================] - ETA: 0s - loss: 0.0326 - accuracy: 0.9884
Epoch 27: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0326 - accuracy: 0.9884 - val_loss: 1.0515 - val_accuracy: 0.8148
Epoch 28/50
195/195 [==============================] - ETA: 0s - loss: 0.0304 - accuracy: 0.9898
Epoch 28: val_accuracy did not improve from 0.82052
195/195 [==============================] - 23s 116ms/step - loss: 0.0304 - accuracy: 0.9898 - val_loss: 1.0358 - val_accuracy: 0.8150
Elapsed time for Keras training (s): 651.309718
print("\n[DB INFO] evaluating network on Test and Validation datasets...\n")
# Evaluate model accuracy with test set
# .evaluate(): 모델의 손실과 정확도를 반환하는 메서드
# 검증 데이터에 대해 모델의 성능을 평가
scores = model.evaluate(x_valid, y_valid, batch_size=cfg.BATCH_SIZE)
# %.3f: 소수점 세 자리까지 표시하는 형식 지정자
print('Validation Loss: %.3f' % scores[0])
print('validation Accuracy: %.3f' % scores[1])
# 테스트 데이터에 대해 모델의 성능을 평가
scores = model.evaluate(x_test, y_test, batch_size=cfg.BATCH_SIZE)
print('Test Loss: %.3f' % scores[0])
print('Test Accuracy: %.3f' % scores[1])
# 테스트 데이터에 대해 모델의 예측을 수행
# .predict(): 모델의 출력을 반환하는 메서드
preds = model.predict(x_test) # preds에 모델의 예측 결과가 저장
# show a nicely formatted classification report
# classification_report(): 정밀도, 재현율, F1 점수 등의 평가 지표를 계산하고, 표 형식으로 보여주는 함수
# argmax(): 배열에서 가장 큰 값을 갖는 값의 인덱스를 반환하는 함수
# 각 클래스에 대응하는 원소 중 하나만 1이고 나머지는 0인 배열로 표현하는
# 원-핫 인코딩 방식으로 저장되어 있기 때문에 argmax() 함수를 통해 레이블 값을 얻음
print(classification_report(
y_test.argmax(axis=1) , # 테스트 데이터의 실제 레이블을 나타내는 배열
preds.argmax(axis=1) , # 테스트 데이터의 예측 레이블을 나타내는 배열
target_names=cfg.labelNames_list # CIFAR-10 데이터셋의 클래스 이름을 담은 리스트
))
[DB INFO] evaluating network on Test and Validation datasets...
20/20 [==============================] - 1s 58ms/step - loss: 0.9576 - accuracy: 0.8206
Validation Loss: 0.958
validation Accuracy: 0.821
20/20 [==============================] - 0s 23ms/step - loss: 0.9937 - accuracy: 0.8114
Test Loss: 0.994
Test Accuracy: 0.811
157/157 [==============================] - 3s 12ms/step
precision recall f1-score support
airplane 0.83 0.84 0.84 500
automobile 0.95 0.84 0.89 500
bird 0.78 0.74 0.76 500
cat 0.60 0.68 0.64 500
deer 0.84 0.77 0.80 500
dog 0.67 0.79 0.73 500
frog 0.91 0.80 0.85 500
horse 0.87 0.84 0.86 500
ship 0.90 0.88 0.89 500
truck 0.83 0.93 0.88 500
accuracy 0.81 5000
macro avg 0.82 0.81 0.81 5000
weighted avg 0.82 0.81 0.81 5000
# 모델의 학습 과정을 시각화하는 함수 정의
# history: fit 메서드의 반환값, 학습 과정에서의 손실과 정확도 등의 정보가 담긴 객체
def plotmodelhistory(history):
fig, axs = plt.subplots(1,2,figsize=(15,5)) # 1행 2열의 서브플롯을 생성
# fig: 전체 그림 객체, axs: 각 서브플롯의 축 객체
# figsize: 전체 그림의 크기를 인치 단위로 설정하는 인자
# summarize history for accuracy
# plot(): 선 그래프를 그리는 함수
axs[0].plot(history.history["accuracy"]) # 첫 번째 서브플롯에 학습 데이터의 정확도를 그림
# history.history["accuracy"]: 학습 데이터의 정확도를 나타내는 리스트
axs[0].plot(history.history["val_accuracy"]) # 첫 번째 서브플롯에 검증 데이터의 정확도를 그림
# history.history["val_accuracy"]: 검증 데이터의 정확도를 나타내는 리스트
# set_title(): 서브플롯의 제목을 설정하는 함수
# set_ylabel(): y축 레이블을 설정하는 함수
# set_xlabel(): x축 레이블을 설정하는 함수
axs[0].set_title("Model Accuracy") # 첫 번째 서브플롯의 제목을 설정
axs[0].set_ylabel("Accuracy") # 첫 번째 서브플롯의 y축 레이블을 설정
axs[0].set_xlabel("Epoch") # 첫 번째 서브플롯의 x축 레이블을 설정
# legend(): 범례를 설정하는 함수
# ["train", "validate"]는 각 선 그래프의 이름을 나타내는 리스트
# loc은 범례의 위치를 나타내는 인자, "upper left": 왼쪽 상단
axs[0].legend(["train", "validate"], loc="upper left") # 첫 번째 서브플롯의 범례를 설정
# summarize history for loss
axs[1].plot(history.history["loss"]) # 두 번째 서브플롯에 학습 데이터의 손실을 그림
# history.history["loss"]: 학습 데이터의 손실을 나타내는 리스트
axs[1].plot(history.history["val_loss"]) # 두 번째 서브플롯에 검증 데이터의 손실을 그림
# history.history["val_loss"]는 검증 데이터의 손실을 나타내는 리스트
axs[1].set_title("Model Loss") # 두 번째 서브플롯의 제목을 설정
axs[1].set_ylabel("Loss") # 두 번째 서브플롯의 y축 레이블을 설정
axs[1].set_xlabel("Epoch") # 두 번째 서브플롯의 x축 레이블을 설정
axs[1].legend(["train", "validate"], loc="upper left") # 두 번째 서브플롯의 범례를 설정
plt.show() # 그린 그래프를 화면에 보여줌
# list all data in history
print(H.history.keys()) # H.history 객체에 담긴 정보의 키를 출력
# H.history.keys(): H.history 객체의 키를 나타내는 리스트
plotmodelhistory(H)
# plotmodelhistory 함수를 호출하여 학습 과정에서의 손실과 정확도 등의 정보가 담긴 H 를 인자로 전달
# 그래프를 저장할 파일의 경로를 plot_filename에 저장
# os.path.join(): 주어진 문자열들을 경로 구분자로 연결하는 함수
# cfg.SCRIPT_DIR는 스크립트가 위치한 폴더의 이름
plot_filename = os.path.join(cfg.SCRIPT_DIR, "log_file/train1_history.png")
# plt.savefig(): 그래프를 파일로 저장하는 함수
plt.savefig(plot_filename) # 그래프를 plot_filename에 지정한 경로에 PNG 파일로 저장
plt.show() # 그린 그래프를 화면에 보여줌
dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy'])
<Figure size 640x480 with 0 Axes>
import sys
sys.path.append("/workspace/new_resnet18_cifar10/python_library")
import config as cfg
import utils as ut
import os # 운영 체제와의 상호 작용 라이브러리
from tensorflow import keras # 딥러닝 모델 구현을 위한 텐서플로우 고수준 API
# vitis_inspect: Vitis AI Model Inspector의 기능을 제공하는 모듈
# vitis_quantize: Vitis AI Quantization을 수행하는 데 사용되는 클래스
from tensorflow_model_optimization.quantization.keras import vitis_inspect, vitis_quantize
import numpy as np # 수치 계산 라이브러리. 배열 및 행렬 연산에 사용
from sklearn.model_selection import train_test_split # 데이터를 학습 및 테스트 셋으로 분할하는 함수
from sklearn.preprocessing import OneHotEncoder # 범주형 변수를 이진 벡터로 변환하는 데 사용
# cifar10: 10개의 클래스를 가진 60000개의 32x32 컬러 이미지를 포함하는 데이터셋
from tensorflow.keras.datasets import cifar10
2024-02-15 04:54:31.487039: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-02-15 04:54:32.611787: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
2024-02-15 04:54:33.973122: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:33.993140: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:33.993632: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:33.995103: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:33.995327: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:33.995557: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:34.063041: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:34.063399: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:34.063416: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1722] Could not identify NUMA node of platform GPU id 0, defaulting to 0. Your kernel may not have been built with NUMA support.
2024-02-15 04:54:34.063675: I tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982] could not open file to read NUMA node: /sys/bus/pci/devices/0000:26:00.0/numa_node
Your kernel may have been built without NUMA support.
2024-02-15 04:54:34.063728: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1635] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 1439 MB memory: -> device: 0, name: NVIDIA GeForce GTX 960, pci bus id: 0000:26:00.0, compute capability: 5.2
# os.path.join(): 주어진 문자열들을 경로 구분자로 연결하는 함수
# 학습된 모델의 파일 경로
FLOAT_HDF5_FILE = os.path.join(cfg.SCRIPT_DIR, './float_model/train1_best_chkpt.h5')
model = keras.models.load_model(FLOAT_HDF5_FILE) # 학습된 ResNet18 모델을 불러옴
# Vitis AI Model Inspector 객체 생성
inspector = vitis_inspect.VitisInspector(target="/opt/vitis_ai/compiler/arch/DPUCZDX8G/ZCU102/arch.json") # Vitis AI Model Inspector의 객체 생성
# Vitis AI Model Inspector의 결과를 저장할 파일 경로
filename_dump = os.path.join(cfg.SCRIPT_DIR, "./log_file/inspect_results.txt")
# Vitis AI Model Inspector의 모델 구조를 시각화할 파일 경로
filename_svg = os.path.join(cfg.SCRIPT_DIR, "./log_file/model.svg")
inspector.inspect_model(
float_model = model , # 분석할 모델
input_shape = [1, 32, 32, 3] , # 모델의 입력 형태
plot = True , # 모델 구조를 시각화할지 여부
plot_file = filename_svg , # 모델 구조를 시각화할 파일 경로
dump_results = True , # 결과를 파일로 저장할지 여부
dump_results_file = filename_dump , # 결과를 저장할 파일 경로
verbose = 0 # 출력할 상세 정보의 수준
)
[VAI INFO] Update include_bias_corr: False
[VAI INFO] Update include_fast_ft: False
[VAI INFO] Update include_cle: False
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12905.55it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8176.03it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3228.87it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9754.20it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3852.93it/s]
WARNING: Logging before InitGoogleLogging() is written to STDERR
I20240215 04:54:41.654407 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:41.654453 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:41.654462 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:41.654752 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model, with op num: 9
I20240215 04:54:41.654760 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:41.658509 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:41.658545 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 16039.40it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8038.14it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3070.50it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9857.35it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 7121.06it/s]
I20240215 04:54:41.732100 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:41.732133 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:41.732141 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:41.732200 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_1, with op num: 5
I20240215 04:54:41.732205 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:41.734485 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:41.734509 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14110.36it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 9446.63it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3271.69it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9986.44it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3787.52it/s]
I20240215 04:54:41.838344 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:41.838379 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:41.838387 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:41.838450 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_2, with op num: 9
I20240215 04:54:41.838455 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:41.842262 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:41.842286 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 16194.22it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 9035.55it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3264.05it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8830.11it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4028.34it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:41.934177 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:41.934213 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:41.934221 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:41.934285 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_3, with op num: 7
I20240215 04:54:41.934290 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:41.938228 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:41.938253 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 13168.93it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 7816.44it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3281.93it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9532.51it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3691.52it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.044183 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.044219 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.044226 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.044293 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_4, with op num: 9
I20240215 04:54:42.044298 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.048128 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.048152 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 16794.01it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 9027.77it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3276.80it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9642.08it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 5007.53it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.138396 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.138432 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.138438 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.138504 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_5, with op num: 7
I20240215 04:54:42.138509 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.142302 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.142324 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14794.72it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8041.23it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3347.41it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8525.01it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3519.89it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.248557 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.248595 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.248610 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.248678 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_6, with op num: 9
I20240215 04:54:42.248683 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.253337 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.253360 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 15768.06it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 7925.74it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3261.51it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 7626.01it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3892.99it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.345124 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.345162 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.345170 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.345237 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_7, with op num: 7
I20240215 04:54:42.345242 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.351634 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.351658 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12520.31it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 16737.05it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3216.49it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9467.95it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 2839.75it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.465785 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.465823 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.465831 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.465899 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_8, with op num: 9
I20240215 04:54:42.465904 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.472762 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.472798 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 15857.48it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 12129.28it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3315.66it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9010.32it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3583.04it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.568627 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.568665 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.568671 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.568740 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_9, with op num: 7
I20240215 04:54:42.568745 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.575397 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.575424 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 9565.12it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8172.84it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3132.42it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9653.17it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 2185.67it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.686780 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.686823 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.686831 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.686954 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_10, with op num: 9
I20240215 04:54:42.686961 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.697054 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.697084 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12354.36it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 6179.00it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3328.81it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 7584.64it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 1363.74it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.797685 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.797724 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.797731 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.797801 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_11, with op num: 7
I20240215 04:54:42.797806 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.814393 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.814420 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12557.80it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8422.30it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3100.00it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9834.24it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 1598.07it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:42.932525 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:42.932565 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:42.932572 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:42.932646 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_12, with op num: 9
I20240215 04:54:42.932652 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:42.949729 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:42.949762 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 15420.24it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8253.25it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3100.00it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8914.57it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 1369.52it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:43.053632 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:43.053668 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:43.053675 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:43.053745 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_13, with op num: 7
I20240215 04:54:43.053750 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:43.070439 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:43.070464 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 15434.42it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8552.82it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3374.34it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9903.91it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 510.93it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:43.203758 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:43.203799 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:43.203806 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:43.203876 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_14, with op num: 9
I20240215 04:54:43.203881 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:43.233485 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:43.233520 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 13325.83it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 12483.05it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2750.36it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9675.44it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 271.15it/s]
[INFO] dump xmodel ...
I20240215 04:54:43.379678 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:43.379717 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:43.379725 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:43.379793 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_15, with op num: 7
I20240215 04:54:43.379799 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:43.436983 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:43.437018 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12273.02it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 8348.54it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3320.91it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 10070.36it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 286.36it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
I20240215 04:54:43.595938 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:43.595985 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:43.595992 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:43.596105 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_16, with op num: 9
I20240215 04:54:43.596112 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:43.654536 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:43.654574 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460052_lCpKhS.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12642.97it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 7656.63it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3177.50it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9597.95it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 285.42it/s]
[INFO] dump xmodel ...
I20240215 04:54:43.797338 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:43.797379 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:43.797385 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:43.797456 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_17, with op num: 7
I20240215 04:54:43.797461 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:43.854925 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:43.854964 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460052_lCpKhS.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460261_nlBHLk.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460261_nlBHLk.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460261_nlBHLk.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 14908.66it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 19807.81it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3945.72it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8168.07it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 23066.75it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 7584.64it/s]
I20240215 04:54:43.943526 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:43.943563 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:43.943570 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:43.943635 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_18, with op num: 6
I20240215 04:54:43.943640 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
W20240215 04:54:43.945305 4268 RedundantOpReductionPass.cpp:663] [UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
I20240215 04:54:43.945417 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 2, DPU subgraph number 0
I20240215 04:54:43.945436 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460261_nlBHLk.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460312_sDPmMX.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460312_sDPmMX.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460312_sDPmMX.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 13107.20it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 23366.60it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3949.44it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11214.72it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 6530.64it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460312_sDPmMX.xmodel
I20240215 04:54:44.014593 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:44.014631 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:44.014638 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:44.014706 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_19, with op num: 4
I20240215 04:54:44.014711 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:44.016635 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:44.016659 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 12255.09it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 11066.77it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3177.50it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9903.91it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4031.43it/s]
I20240215 04:54:44.606611 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:44.606652 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:44.606659 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:44.606729 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_20, with op num: 9
I20240215 04:54:44.606737 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:44.609787 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:44.609812 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 18020.64it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 21098.11it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3323.54it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9915.61it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3843.05it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
I20240215 04:54:44.711802 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:44.711835 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:44.711843 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:44.711910 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_21, with op num: 9
I20240215 04:54:44.711915 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:44.715505 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:44.715529 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 18098.40it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 10097.02it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2668.13it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9576.04it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3651.03it/s]
I20240215 04:54:44.818073 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:44.818111 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:44.818120 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:44.818186 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_22, with op num: 9
I20240215 04:54:44.818192 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:44.821784 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:44.821807 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 17189.77it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 19821.85it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3043.76it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 7817.90it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3707.18it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
I20240215 04:54:44.929786 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:44.929826 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:44.929834 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:44.929903 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_23, with op num: 9
I20240215 04:54:44.929908 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:44.934423 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:44.934448 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 17349.76it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 20400.31it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3177.50it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9720.29it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 3146.51it/s]
I20240215 04:54:45.045591 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.045629 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.045636 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.045703 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_24, with op num: 9
I20240215 04:54:45.045708 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.051966 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.051991 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 17943.55it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 21913.81it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3248.88it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 10255.02it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 2141.04it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
I20240215 04:54:45.162303 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.162338 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.162346 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.162415 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_25, with op num: 9
I20240215 04:54:45.162420 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.172024 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.172053 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 18579.42it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 19691.57it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3158.36it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9857.35it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 1694.81it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
I20240215 04:54:45.286437 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.286474 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.286481 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.286549 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_26, with op num: 9
I20240215 04:54:45.286554 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.304100 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.304126 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 18001.30it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 11970.05it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3218.96it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9675.44it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 544.59it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
I20240215 04:54:45.435884 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.435930 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.435937 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.436007 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_27, with op num: 9
I20240215 04:54:45.436012 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.467550 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.467584 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460798_asiSml.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14016.05it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 21140.65it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3315.66it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9892.23it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 278.21it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460798_asiSml.xmodel
I20240215 04:54:45.627524 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.627569 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.627576 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.627651 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_28, with op num: 9
I20240215 04:54:45.627656 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.684100 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.684139 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 15210.53it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 10015.05it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3104.59it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9915.61it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4588.95it/s]
I20240215 04:54:45.792260 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.792296 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.792304 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.792371 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_29, with op num: 9
I20240215 04:54:45.792376 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.795404 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.795429 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14086.66it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 12641.06it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3323.54it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9478.65it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4223.87it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:45.899883 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:45.899930 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:45.899938 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:45.900004 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_30, with op num: 9
I20240215 04:54:45.900009 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:45.903007 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:45.903030 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14939.64it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 9808.94it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3196.88it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9619.96it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4716.94it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:46.007434 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.007474 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.007481 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.007550 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_31, with op num: 9
I20240215 04:54:46.007555 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.010583 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.010607 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 17032.71it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 21620.12it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2866.92it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9754.20it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 5023.12it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:46.115573 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.115612 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.115619 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.115726 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_32, with op num: 9
I20240215 04:54:46.115732 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.118733 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.118757 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 18477.11it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 13017.70it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3194.44it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9822.73it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4912.51it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:46.222277 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.222313 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.222321 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.222386 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_33, with op num: 9
I20240215 04:54:46.222391 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.225410 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.225433 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14781.69it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 21334.20it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3226.39it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9998.34it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4783.65it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:46.329293 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.329329 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.329336 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.329402 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_34, with op num: 9
I20240215 04:54:46.329406 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.332406 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.332430 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 16611.10it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 21868.11it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3057.07it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9962.72it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4687.42it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:46.437538 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.437575 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.437582 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.437649 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_35, with op num: 9
I20240215 04:54:46.437654 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.440668 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.440691 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 14755.69it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 19972.88it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3251.40it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9310.33it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4575.94it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
I20240215 04:54:46.551265 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.551303 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.551311 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.551378 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_36, with op num: 9
I20240215 04:54:46.551383 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.554455 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.554479 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460855_jufPwH.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 4/4 [00:00<00:00, 17154.62it/s]
[INFO] infer shape (NHWC) :100%|██████████| 5/5 [00:00<00:00, 22550.02it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3246.37it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9198.04it/s]
[INFO] generate xmodel :100%|██████████| 5/5 [00:00<00:00, 4493.58it/s]
I20240215 04:54:46.657936 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.657969 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.657977 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.658043 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_37, with op num: 9
I20240215 04:54:46.658048 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.661068 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.661092 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460855_jufPwH.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 14059.12it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 9258.95it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3979.42it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11397.57it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 4912.80it/s]
I20240215 04:54:46.741683 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.741719 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.741726 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.741789 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_38, with op num: 6
I20240215 04:54:46.741794 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.744503 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.744525 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 11705.03it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 19576.68it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3960.63it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11140.25it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 4836.33it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:46.825609 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.825646 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.825654 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.825717 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_39, with op num: 6
I20240215 04:54:46.825722 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.829056 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.829085 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 10847.34it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 18766.46it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3647.22it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11275.01it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 3280.00it/s]
I20240215 04:54:46.910507 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:46.910543 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:46.910550 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:46.910614 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_40, with op num: 6
I20240215 04:54:46.910619 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:46.914148 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:46.914172 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 12582.91it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 17962.76it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3685.68it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11831.61it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 3190.80it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.000110 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.000149 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.000155 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.000222 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_41, with op num: 6
I20240215 04:54:47.000227 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.006067 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.006089 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 9978.52it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 18579.42it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3858.61it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11008.67it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 3720.83it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.089332 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.089370 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.089376 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.089480 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_42, with op num: 6
I20240215 04:54:47.089486 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.092944 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.092967 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 11661.64it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 19152.07it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 4108.04it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 10866.07it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 3718.35it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.174018 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.174058 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.174067 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.174137 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_43, with op num: 6
I20240215 04:54:47.174142 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.177767 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.177807 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 10773.04it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 18978.75it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 4029.11it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 10267.57it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 2956.86it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.265031 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.265069 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.265075 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.265143 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_44, with op num: 6
I20240215 04:54:47.265148 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.271278 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.271303 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 13400.33it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 19306.35it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3179.91it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11798.32it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 3157.77it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.355346 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.355382 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.355389 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.355456 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_45, with op num: 6
I20240215 04:54:47.355461 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.361549 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.361572 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 11125.47it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 9162.87it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3912.60it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11199.74it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 1307.35it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.453877 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.453913 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.453922 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.453987 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_46, with op num: 6
I20240215 04:54:47.453992 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.471493 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.471524 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 12446.01it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 9794.05it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3844.46it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 10318.09it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 1182.74it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.567512 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.567550 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.567557 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.567627 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_47, with op num: 6
I20240215 04:54:47.567632 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.583782 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.583808 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 10565.00it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 18703.70it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3862.16it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 10618.49it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 212.83it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.720914 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.720957 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.720965 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.721035 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_48, with op num: 6
I20240215 04:54:47.721040 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.778429 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.778463 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 11726.85it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 18517.90it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3876.44it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11413.07it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 229.77it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
I20240215 04:54:47.909593 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:47.909638 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:47.909646 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:47.909716 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_49, with op num: 6
I20240215 04:54:47.909721 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:47.966691 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:47.966730 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460905_FfwAhU.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 9754.20it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 19957.04it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2835.91it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8665.92it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 5442.44it/s]
I20240215 04:54:48.068825 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.068863 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.068871 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.068938 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_50, with op num: 8
I20240215 04:54:48.068943 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.073693 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:48.073717 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460905_FfwAhU.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460953_qiDAbs.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460953_qiDAbs.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-460953_qiDAbs.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 3/3 [00:00<00:00, 10058.28it/s]
[INFO] infer shape (NHWC) :100%|██████████| 4/4 [00:00<00:00, 18914.56it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 3979.42it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 11351.30it/s]
[INFO] generate xmodel :100%|██████████| 4/4 [00:00<00:00, 3912.60it/s]
I20240215 04:54:48.170536 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.170586 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.170594 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.170704 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_51, with op num: 8
I20240215 04:54:48.170709 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.173566 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
I20240215 04:54:48.173590 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-460953_qiDAbs.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 23250.02it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 12270.03it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2816.86it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8774.69it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 7656.17it/s]
I20240215 04:54:48.259972 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.260008 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.260015 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.260082 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_52, with op num: 6
I20240215 04:54:48.260087 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.261968 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.261992 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 22745.68it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 12378.66it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2775.85it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8886.24it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 8433.59it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
I20240215 04:54:48.348438 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.348471 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.348479 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.348542 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_53, with op num: 6
I20240215 04:54:48.348547 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.350420 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.350445 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 17461.72it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 19691.57it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2709.50it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 9198.04it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 8408.23it/s]
I20240215 04:54:48.438073 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.438109 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.438117 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.438179 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_54, with op num: 6
I20240215 04:54:48.438184 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.440044 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.440068 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 18016.77it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 25241.55it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2576.35it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8656.97it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 7931.24it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
I20240215 04:54:48.531373 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.531409 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.531415 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.531481 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_55, with op num: 6
I20240215 04:54:48.531486 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.533452 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.533476 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 7418.30it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 21807.47it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2718.28it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8322.03it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 8388.61it/s]
I20240215 04:54:48.622591 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.622628 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.622635 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.622700 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_56, with op num: 6
I20240215 04:54:48.622705 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.624580 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.624603 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 22121.86it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 19079.47it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2118.34it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8701.88it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 8128.50it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
I20240215 04:54:48.713428 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.713464 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.713471 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.713541 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_57, with op num: 6
I20240215 04:54:48.713546 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.715425 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.715448 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 18396.07it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 12885.73it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2739.58it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 7403.89it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 7192.29it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
I20240215 04:54:48.801976 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.802013 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.802021 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.802088 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_58, with op num: 6
I20240215 04:54:48.802093 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.803988 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.804011 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel', proto=None)
[INFO] tensorflow2 model: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_quantized_20240215-045440-461155_IRkACy.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|██████████| 5/5 [00:00<00:00, 17520.07it/s]
[INFO] infer shape (NHWC) :100%|██████████| 6/6 [00:00<00:00, 20262.34it/s]
[INFO] perform level-0 opt :100%|██████████| 1/1 [00:00<00:00, 2824.45it/s]
[INFO] perform level-1 opt :100%|██████████| 2/2 [00:00<00:00, 8793.09it/s]
[INFO] generate xmodel :100%|██████████| 6/6 [00:00<00:00, 8294.60it/s]
[INFO] dump xmodel: /tmp/vitis-ai-user/tensorflow_model_optimization/tmp_sub_graph_xnnc_20240215-045440-461155_IRkACy.xmodel
I20240215 04:54:48.892211 4268 compile_pass_manager.cpp:352] [UNILOG][INFO] Compile mode: dpu
I20240215 04:54:48.892249 4268 compile_pass_manager.cpp:353] [UNILOG][INFO] Debug mode: null
I20240215 04:54:48.892257 4268 compile_pass_manager.cpp:357] [UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
I20240215 04:54:48.892333 4268 compile_pass_manager.cpp:465] [UNILOG][INFO] Graph name: model_59, with op num: 6
I20240215 04:54:48.892341 4268 compile_pass_manager.cpp:478] [UNILOG][INFO] Begin to compile...
I20240215 04:54:48.894201 4268 compile_pass_manager.cpp:489] [UNILOG][INFO] Total device subgraph number 4, DPU subgraph number 1
I20240215 04:54:48.894223 4268 compile_pass_manager.cpp:504] [UNILOG][INFO] Compile done.
[VAI INFO] Inspect Results:
[MODEL INFO]:
________________________________________________________________________________________________________________________
Model Name: model_1
________________________________________________________________________________________________________________________
ID Name Type Device Notes
========================================================================================================================
0/87 input_wrapper_for_data InputLayer INPUT
------------------------------------------------------------------------------------------------------------------------
1/87 bn_data BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
2/87 zero_padding2d ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
3/87 conv0 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
4/87 bn0 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
5/87 relu0 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
6/87 zero_padding2d_1 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
7/87 pooling0 MaxPooling2D DPU
------------------------------------------------------------------------------------------------------------------------
8/87 stage1_unit1_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
9/87 stage1_unit1_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
10/87 zero_padding2d_2 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
11/87 stage1_unit1_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
12/87 stage1_unit1_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
13/87 stage1_unit1_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
14/87 zero_padding2d_3 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
15/87 stage1_unit1_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
16/87 stage1_unit1_sc Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
17/87 add Add DPU
------------------------------------------------------------------------------------------------------------------------
18/87 stage1_unit2_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
19/87 stage1_unit2_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
20/87 zero_padding2d_4 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
21/87 stage1_unit2_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
22/87 stage1_unit2_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
23/87 stage1_unit2_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
24/87 zero_padding2d_5 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
25/87 stage1_unit2_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
26/87 add_1 Add DPU
------------------------------------------------------------------------------------------------------------------------
27/87 stage2_unit1_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
28/87 stage2_unit1_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
29/87 zero_padding2d_6 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
30/87 stage2_unit1_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
31/87 stage2_unit1_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
32/87 stage2_unit1_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
33/87 zero_padding2d_7 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
34/87 stage2_unit1_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
35/87 stage2_unit1_sc Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
36/87 add_2 Add DPU
------------------------------------------------------------------------------------------------------------------------
37/87 stage2_unit2_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
38/87 stage2_unit2_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
39/87 zero_padding2d_8 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
40/87 stage2_unit2_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
41/87 stage2_unit2_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
42/87 stage2_unit2_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
43/87 zero_padding2d_9 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
44/87 stage2_unit2_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
45/87 add_3 Add DPU
------------------------------------------------------------------------------------------------------------------------
46/87 stage3_unit1_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
47/87 stage3_unit1_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
48/87 zero_padding2d_10 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
49/87 stage3_unit1_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
50/87 stage3_unit1_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
51/87 stage3_unit1_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
52/87 zero_padding2d_11 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
53/87 stage3_unit1_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
54/87 stage3_unit1_sc Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
55/87 add_4 Add DPU
------------------------------------------------------------------------------------------------------------------------
56/87 stage3_unit2_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
57/87 stage3_unit2_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
58/87 zero_padding2d_12 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
59/87 stage3_unit2_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
60/87 stage3_unit2_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
61/87 stage3_unit2_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
62/87 zero_padding2d_13 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
63/87 stage3_unit2_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
64/87 add_5 Add DPU
------------------------------------------------------------------------------------------------------------------------
65/87 stage4_unit1_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
66/87 stage4_unit1_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
67/87 zero_padding2d_14 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
68/87 stage4_unit1_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
69/87 stage4_unit1_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
70/87 stage4_unit1_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
71/87 zero_padding2d_15 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
72/87 stage4_unit1_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
73/87 stage4_unit1_sc Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
74/87 add_6 Add DPU
------------------------------------------------------------------------------------------------------------------------
75/87 stage4_unit2_bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
76/87 stage4_unit2_relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
77/87 zero_padding2d_16 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
78/87 stage4_unit2_conv1 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
79/87 stage4_unit2_bn2 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
80/87 stage4_unit2_relu2 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
81/87 zero_padding2d_17 ZeroPadding2D DPU
------------------------------------------------------------------------------------------------------------------------
82/87 stage4_unit2_conv2 Conv2D<linear> DPU
------------------------------------------------------------------------------------------------------------------------
83/87 add_7 Add DPU
------------------------------------------------------------------------------------------------------------------------
84/87 bn1 BatchNormalization DPU
------------------------------------------------------------------------------------------------------------------------
85/87 relu1 Activation<relu> DPU
------------------------------------------------------------------------------------------------------------------------
86/87 global_average_pooling2dGlobalAveragePooling2D DPU
------------------------------------------------------------------------------------------------------------------------
87/87 dense Dense<softmax> DPU+CPU Seperate layer activation `softmax`; `softmax`
is not supported by target
------------------------------------------------------------------------------------------------------------------------
========================================================================================================================
[SUMMARY INFO]:
- [Target Name]: DPUCZDX8G_ISA1_B4096
- [Total Layers]: 88
- [Layer Types]: InputLayer(1) BatchNormalization(19) ZeroPadding2D(18) Conv2D<linear>(21) Activation<relu>(18) MaxPooling2D(1) Add(8) GlobalAveragePooling2D(1) Dense<softmax>(1)
- [Partition Results]: INPUT(1) DPU(86) DPU+CPU(1)
========================================================================================================================
[NOTES INFO]:
- [87/87] Layer dense (Type:Dense<softmax>, Device:DPU+CPU):
* Seperate layer activation `softmax`
* `softmax` is not supported by target
========================================================================================================================
[VAI INFO] Start plotting model to /workspace/new_resnet18_cifar10/./log_file/model.svg
[VAI INFO] Inspected model has been plotted in: /workspace/new_resnet18_cifar10/./log_file/model.svg.
[VAI INFO] Start dumping inspected results to /workspace/new_resnet18_cifar10/./log_file/inspect_results.txt
[VAI INFO] Inspected results has been dumped in: /workspace/new_resnet18_cifar10/./log_file/inspect_results.txt.
[VAI INFO] Inspect Finished.
{<keras.engine.input_layer.InputLayer at 0x7f56207bcdf0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c047e20>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c554d30>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c047e80>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c554c10>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c047760>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c554730>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c03a370>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c53d7f0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c03a2e0>,
<keras.layers.core.activation.Activation at 0x7f548c53d2b0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c03a910>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c598c40>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c03a1c0>,
<keras.layers.pooling.max_pooling2d.MaxPooling2D at 0x7f548c53d1f0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eba60>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c598610>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb940>,
<keras.layers.core.activation.Activation at 0x7f548c598340>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eba90>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c5a7430>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb790>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c5983a0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb880>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c5a78e0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb8b0>,
<keras.layers.core.activation.Activation at 0x7f548c5a7df0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb760>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c5aa580>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb7f0>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c5a7eb0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb6a0>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c5aaa30>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebd30>,
<keras.layers.merging.add.Add at 0x7f548c5aaf40>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb4c0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c59b6d0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb130>,
<keras.layers.core.activation.Activation at 0x7f548c59bd00>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb400>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c59bf10>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebd60>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c59b880>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebdc0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c53a400>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb3a0>,
<keras.layers.core.activation.Activation at 0x7f548c53ae50>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebe50>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c53f0a0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebc70>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c53a9d0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb8e0>,
<keras.layers.merging.add.Add at 0x7f548c53f550>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebc10>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c53fbe0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eba00>,
<keras.layers.core.activation.Activation at 0x7f548c53fcd0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebb80>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c556460>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebfa0>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c53fd90>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebfd0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c556910>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebca0>,
<keras.layers.core.activation.Activation at 0x7f548c556e20>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb2e0>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c55c5b0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb250>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c556ee0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebf10>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c55ca60>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb160>,
<keras.layers.merging.add.Add at 0x7f548c55cf70>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb370>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c55b700>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb100>,
<keras.layers.core.activation.Activation at 0x7f548c55bd30>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebf40>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c55bf40>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb1c0>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c55b8b0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eb520>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c55e430>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692ebeb0>,
<keras.layers.core.activation.Activation at 0x7f548c55ee80>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692eba30>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c5410d0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5469253f70>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c55ea00>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5469253b50>,
<keras.layers.merging.add.Add at 0x7f548c541580>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5469229490>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c541c10>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692292e0>,
<keras.layers.core.activation.Activation at 0x7f548c541d00>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5469229430>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c555490>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692294f0>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c541dc0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692291c0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c555940>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5469229070>,
<keras.layers.core.activation.Activation at 0x7f548c557400>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c34e8b0>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c5575e0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54692a8ac0>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c555f10>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c122460>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c557a90>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54691d14c0>,
<keras.layers.merging.add.Add at 0x7f548c557fa0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54691d1c10>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c519730>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c509a00>,
<keras.layers.core.activation.Activation at 0x7f548c519d60>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c509100>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c519fa0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c53d820>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c5198e0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54a404b6d0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c532460>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c7ec0d0>,
<keras.layers.core.activation.Activation at 0x7f548c532eb0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c7ec0a0>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c52d100>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c201220>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c532a30>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c2011c0>,
<keras.layers.merging.add.Add at 0x7f548c52d5b0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c2019d0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c52dc40>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c2014c0>,
<keras.layers.core.activation.Activation at 0x7f548c52dd30>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c1d8a30>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c51b4c0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c1a3070>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c52ddf0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c3381c0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c51b970>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c4d88b0>,
<keras.layers.core.activation.Activation at 0x7f548c524430>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5468ee5d30>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c524610>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5468ee5760>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c51bf40>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5468ee5910>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c524ac0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54690c8340>,
<keras.layers.merging.add.Add at 0x7f548c524fd0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f5469194ee0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c523760>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c7cff40>,
<keras.layers.core.activation.Activation at 0x7f548c523d90>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c0b2fa0>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c523fd0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c0b2a00>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c523910>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c070df0>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c509490>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c04c490>,
<keras.layers.core.activation.Activation at 0x7f548c509ee0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c04c790>,
<keras.layers.reshaping.zero_padding2d.ZeroPadding2D at 0x7f548c50d190>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f548c556880>,
<keras.layers.convolutional.conv2d.Conv2D at 0x7f548c509a60>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f54691a89d0>,
<keras.layers.merging.add.Add at 0x7f548c50d5e0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f546908c040>,
<keras.layers.normalization.batch_normalization.BatchNormalization at 0x7f548c50dc70>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f546908ceb0>,
<keras.layers.core.activation.Activation at 0x7f548c50dd60>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f546908c6d0>,
<keras.layers.pooling.global_average_pooling2d.GlobalAveragePooling2D at 0x7f548c50e4f0>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f546908ce20>,
<keras.layers.core.dense.Dense at 0x7f548c50de20>: <tensorflow_model_optimization.python.core.quantization.keras.vitis.vitis_inspect.InspectResult at 0x7f546908ce80>}
# FLOAT_HDF5_FILE: 부동 소수점 모델 파일을 불러올 경로
# QUANT_HDF5_FILE: 양자화된 모델 파일을 저장할 경로
# args.float_file과 args.quant_file은 명령줄 인수로 받은 파일 이름
QUANT_HDF5_FILE = os.path.join(cfg.SCRIPT_DIR, './quantized_model/q_train2_resnet18_cifar10.h5')
# CIFAR-10: 10개의 클래스로 구분된 6만개의 컬러 이미지로 이루어진 데이터셋
# cifar10.load_data(): CIFAR-10 데이터셋을 불러옴
# X_train, Y_train: 학습 데이터와 레이블
# X_test, Y_test: 테스트 데이터와 레이블
(X_train, Y_train), (X_test, Y_test) = cifar10.load_data()
# X_train, X_test, Y_train의 행렬 형태 출력
# X_train: (50000, 32, 32, 3)
# X_test: (10000, 32, 32, 3)
# np.unique(): 중복되지 않는 값의 리스트를 출력
# np.unique(Y_train).shape[0]: 10
X_train.shape, X_test.shape, np.unique(Y_train).shape[0]
((50000, 32, 32, 3), (10000, 32, 32, 3), 10)
# one-hot encoding: 레이블을 0과 1로 이루어진 벡터로 표현하는 방법
# 클래스의 개수를 10으로 지정
n_classes = 10
# Normalize the data
# X_train과 X_test의 데이터 타입을 float32로 변환
X_train = X_train.astype("float32")
X_test = X_test.astype("float32")
# ut.Normalize: config.py 파일에서 정의된 함수,
# 데이터를 -1과 1 사이의 값으로 정규화
X_train = ut.Normalize(X_train)
X_test = ut.Normalize(X_test)
# 검증 데이터: 모델의 성능을 평가하기 위한 데이터
# train_test_split(): 학습 데이터와 검증 데이터로 분리
# X_val, Y_val: 검증 데이터와 레이블
X_train, X_val, Y_train, Y_val = train_test_split(
X_train,
Y_train,
test_size = 0.2, # 검증 데이터의 비율
shuffle = True # 데이터를 섞을지 여부
)
# OneHotEncoder: one-hot encoding하는 데 사용되는 클래스
encoder = OneHotEncoder()
# encoder 객체가 Y_train의 고유한 값과 순서를 파악
encoder.fit(Y_train)
# Y_train, Y_test, Y_val을 one-hot encoding된 레이블로 변환
# transform 메서드는 sparse matrix 형태로 결과를 반환하므로,
# toarray 메서드를 사용하여 numpy array 형태로 변환
Y_train = encoder.transform(Y_train).toarray()
Y_test = encoder.transform(Y_test).toarray()
Y_val = encoder.transform(Y_val).toarray()
# keras.models.load_model 함수를 사용하여
# FLOAT_HDF5_FILE의 경로에 저장된 부동 소수점 모델을 불러옴
# model 변수에 불러온 모델을 저장
model = keras.models.load_model(FLOAT_HDF5_FILE)
## Evaluation on Training Dataset
# 학습 데이터와 레이블에 대한 모델의 성능을 평가
# ModelLoss: 모델의 손실값
# ModelAccuracy: 모델의 정확도
ModelLoss, ModelAccuracy = model.evaluate(X_train, Y_train)
print("X_Train Model Loss is {}".format(ModelLoss))
print("X_Train Model Accuracy is {}".format(ModelAccuracy))
## Evaluation on Test Dataset
# 테스트 데이터와 레이블에 대한 모델의 성능을 평가
# t_ModelLoss: 모델의 손실값
# t_ModelAccuracy: 모델의 정확도
t_ModelLoss, t_ModelAccuracy = model.evaluate(X_test, Y_test)
print("X_Test Model Loss is {}".format(t_ModelLoss))
print("X_Test Model Accuracy is {}".format(t_ModelAccuracy))
2024-02-15 04:54:54.935468: W tensorflow/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 491520000 exceeds 10% of free system memory.
2024-02-15 04:54:55.247933: W tensorflow/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 491520000 exceeds 10% of free system memory.
2024-02-15 04:54:55.908932: I tensorflow/compiler/xla/stream_executor/cuda/cuda_dnn.cc:424] Loaded cuDNN version 8906
2024-02-15 04:54:56.028409: I tensorflow/tsl/platform/default/subprocess.cc:304] Start cannot spawn child process: No such file or directory
1/1250 [..............................] - ETA: 25:56 - loss: 0.8076 - accuracy: 0.7812
2024-02-15 04:54:56.486525: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 356.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:54:56.639646: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.21GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
1250/1250 [==============================] - 16s 12ms/step - loss: 0.6916 - accuracy: 0.8385
X_Train Model Loss is 0.6916070580482483
X_Train Model Accuracy is 0.8385249972343445
313/313 [==============================] - 5s 14ms/step - loss: 1.6409 - accuracy: 0.7016
X_Test Model Loss is 1.6409410238265991
X_Test Model Accuracy is 0.7016000151634216
2024-02-15 04:55:16.051108: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 322.00MiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:55:16.183242: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.14GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
# vitis_quantize.VitisQuantizer(): 부동 소수점 모델을 인자로 받는 quantizer 객체를 생성
quantizer = vitis_quantize.VitisQuantizer(model)
# quantizer 객체의 quantize_model 메서드를 사용
# calib_dataset: 양자화 과정에서 사용되는 데이터셋, 학습 데이터의 첫 100개를 사용
# q_model 변수에 양자화된 모델을 저장
q_model = quantizer.quantize_model(calib_dataset=X_train[0:100]) # 부동 소수점 모델을 양자화
with vitis_quantize.quantize_scope():
# 양자화된 모델을 불러오고 컴파일하고 평가하는 데 필요한 범위를 지정
# 자원을 획득하고 사용한 후에 이를 해제하는 with문을 사용하였음
# 양자화된 모델을 컴파일
q_model.compile(
optimizer = "adam" , # 모델의 최적화 방법
loss = "categorical_crossentropy" , # 손실 함수
metrics = ["accuracy"] # 평가 지표
)
# 테스트 데이터와 레이블에 대한 양자화된 모델의 성능을 평가
# q_eval_results는 양자화된 모델의 손실값과 정확도를 나타냄
q_eval_results = q_model.evaluate(X_test, Y_test)
# 테스트 데이터에 대한 양자화된 모델의 정확도 출력
# q_eval_results[1]: 테스트 데이터에 대한 양자화된 모델의 정확도
print("\n***************** Summary *****************")
print("X_Test Quantized model accuracy: ", q_eval_results[1])
[VAI INFO] Using func format quantizer
[VAI INFO] Quantizing without specific `target`.
[VAI INFO] Start CrossLayerEqualization...
10/10 [==============================] - 7s 756ms/step
[VAI INFO] CrossLayerEqualization Done.
[VAI INFO] Start Quantize Calibration...
1/4 [======>.......................] - ETA: 44s
2024-02-15 04:55:51.514884: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.21GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
4/4 [==============================] - 16s 427ms/step
2024-02-15 04:55:52.729731: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.09GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
2024-02-15 04:55:52.788231: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.09GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
[VAI INFO] Quantize Calibration Done.
[VAI INFO] Start Post-Quant Model Refinement...
[VAI INFO] Start Quantize Position Ajustment...
[VAI INFO] Quantize Position Ajustment Done.
[VAI INFO] Post-Quant Model Refninement Done.
[VAI INFO] Start Model Finalization...
[VAI INFO] Model Finalization Done.
[VAI INFO] Quantization Finished.
313/313 [==============================] - 14s 32ms/step - loss: 1.7943 - accuracy: 0.6868
***************** Summary *****************
X_Test Quantized model accuracy: 0.6868000030517578
2024-02-15 04:56:15.716121: W tensorflow/tsl/framework/bfc_allocator.cc:296] Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.14GiB with freed_by_count=0. The caller indicates that this is not a failure, but this may mean that there could be performance gains if more memory were available.
# 양자화된 모델을 QUANT_HDF5_FILE의 경로에 저장
q_model.save(QUANT_HDF5_FILE)
# QUANT_HDF5_FILE의 경로에 저장된 양자화된 모델을 불러옴
loaded_model = keras.models.load_model(QUANT_HDF5_FILE)
# 학습 데이터와 레이블에 대한 불러온 모델의 성능을 평가
# eval_results에 모델의 손실값과 정확도가 저장
eval_results = loaded_model.evaluate(X_train, Y_train)
# 학습 데이터에 대한 모델의 정확도를 화면에 출력
print("X_Train Quantized model accuracy: ", eval_results[1])
2024-02-15 04:56:18.406480: W tensorflow/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 491520000 exceeds 10% of free system memory.
2024-02-15 04:56:18.682317: W tensorflow/tsl/framework/cpu_allocator_impl.cc:83] Allocation of 491520000 exceeds 10% of free system memory.
1250/1250 [==============================] - 38s 29ms/step - loss: 0.8142 - accuracy: 0.8169
X_Train Quantized model accuracy: 0.8168749809265137
!source run_compile.sh | tee ./log_file/compile.log
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['./quantized_model/q_train2_resnet18_cifar10.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/zcu102_cifar10_resnet18_DPUCZDX8G_ISA1_B4096_org.xmodel', proto=None)
[INFO] tensorflow2 model: /workspace/new_resnet18_cifar10/quantized_model/q_train2_resnet18_cifar10.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|█| 81/81 [00:00<00:00, 29465.62it/s]
[INFO] infer shape (NHWC) :100%|█| 125/125 [00:00<00:00, 34908.32it/s]
[INFO] perform level-0 opt :100%|█| 1/1 [00:00<00:00, 154.06it/s]
[INFO] perform level-1 opt :100%|█| 2/2 [00:00<00:00, 593.67it/s]
[INFO] infer shape (NHWC) :100%|█| 127/127 [00:00<00:00, 42383.56it/s]
[INFO] generate xmodel :100%|█| 127/127 [00:00<00:00, 1304.86it/s]
[INFO] dump xmodel: /tmp/zcu102_cifar10_resnet18_DPUCZDX8G_ISA1_B4096_org.xmodel
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: null
[UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
[UNILOG][INFO] Graph name: model_1, with op num: 229
[UNILOG][INFO] Begin to compile...
[0;33m[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[m[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_zcu102/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_zcu102/zcu102_cifar10_resnet18.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is c9e8cda94af86a63fb6dca3de39c7003, and has been saved to "/workspace/new_resnet18_cifar10/./binary/compiled_zcu102/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['./quantized_model/q_train2_resnet18_cifar10.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/zcu104_cifar10_resnet18_DPUCZDX8G_ISA1_B4096_org.xmodel', proto=None)
[INFO] tensorflow2 model: /workspace/new_resnet18_cifar10/quantized_model/q_train2_resnet18_cifar10.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|█| 81/81 [00:00<00:00, 31852.49it/s]
[INFO] infer shape (NHWC) :100%|█| 125/125 [00:00<00:00, 38715.70it/s]
[INFO] perform level-0 opt :100%|█| 1/1 [00:00<00:00, 157.47it/s]
[INFO] perform level-1 opt :100%|█| 2/2 [00:00<00:00, 631.39it/s]
[INFO] infer shape (NHWC) :100%|█| 127/127 [00:00<00:00, 43928.47it/s]
[INFO] generate xmodel :100%|█| 127/127 [00:00<00:00, 1299.57it/s]
[INFO] dump xmodel: /tmp/zcu104_cifar10_resnet18_DPUCZDX8G_ISA1_B4096_org.xmodel
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: null
[UNILOG][INFO] Target architecture: DPUCZDX8G_ISA1_B4096
[UNILOG][INFO] Graph name: model_1, with op num: 229
[UNILOG][INFO] Begin to compile...
[0;33m[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[m[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_zcu104/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_zcu104/zcu104_cifar10_resnet18.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is 9119f0f8cb69ad2492748f649eca0eea, and has been saved to "/workspace/new_resnet18_cifar10/./binary/compiled_zcu104/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['./quantized_model/q_train2_resnet18_cifar10.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vck190_cifar10_resnet18_DPUCVDX8G_ISA3_C32B6_org.xmodel', proto=None)
[INFO] tensorflow2 model: /workspace/new_resnet18_cifar10/quantized_model/q_train2_resnet18_cifar10.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|█| 81/81 [00:00<00:00, 30740.01it/s]
[INFO] infer shape (NHWC) :100%|█| 125/125 [00:00<00:00, 37762.03it/s]
[INFO] perform level-0 opt :100%|█| 1/1 [00:00<00:00, 156.43it/s]
[INFO] perform level-1 opt :100%|█| 2/2 [00:00<00:00, 624.62it/s]
[INFO] infer shape (NHWC) :100%|█| 127/127 [00:00<00:00, 42685.84it/s]
[INFO] generate xmodel :100%|█| 127/127 [00:00<00:00, 1305.24it/s]
[INFO] dump xmodel: /tmp/vck190_cifar10_resnet18_DPUCVDX8G_ISA3_C32B6_org.xmodel
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: null
[UNILOG][INFO] Target architecture: DPUCVDX8G_ISA3_C32B6
[UNILOG][INFO] Graph name: model_1, with op num: 229
[UNILOG][INFO] Begin to compile...
[0;33m[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[m[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vck190/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vck190/vck190_cifar10_resnet18.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is 79043bb33d2d7620793709e759cca226, and has been saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vck190/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['./quantized_model/q_train2_resnet18_cifar10.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/v70_cifar10_resnet18_DPUCV2DX8G_ISA1_C20B14_org.xmodel', proto=None)
[INFO] tensorflow2 model: /workspace/new_resnet18_cifar10/quantized_model/q_train2_resnet18_cifar10.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|█| 81/81 [00:00<00:00, 29224.83it/s]
[INFO] infer shape (NHWC) :100%|█| 125/125 [00:00<00:00, 38085.72it/s]
[INFO] perform level-0 opt :100%|█| 1/1 [00:00<00:00, 138.08it/s]
[INFO] perform level-1 opt :100%|█| 2/2 [00:00<00:00, 620.05it/s]
[INFO] infer shape (NHWC) :100%|█| 127/127 [00:00<00:00, 40348.18it/s]
[INFO] generate xmodel :100%|█| 127/127 [00:00<00:00, 1306.85it/s]
[INFO] dump xmodel: /tmp/v70_cifar10_resnet18_DPUCV2DX8G_ISA1_C20B14_org.xmodel
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: null
[UNILOG][INFO] Target architecture: DPUCV2DX8G_ISA1_C20B14
[UNILOG][INFO] Graph name: model_1, with op num: 229
[UNILOG][INFO] Begin to compile...
[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_v70/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_v70/v70_cifar10_resnet18.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is acb963652cc51e69ba2c51ab35c8ea44, and has been saved to "/workspace/new_resnet18_cifar10/./binary/compiled_v70/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['./quantized_model/q_train2_resnet18_cifar10.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vek280_cifar10_resnet18_DPUCV2DX8G_ISA1_C20B14_org.xmodel', proto=None)
[INFO] tensorflow2 model: /workspace/new_resnet18_cifar10/quantized_model/q_train2_resnet18_cifar10.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|█| 81/81 [00:00<00:00, 31463.11it/s]
[INFO] infer shape (NHWC) :100%|█| 125/125 [00:00<00:00, 39562.93it/s]
[INFO] perform level-0 opt :100%|█| 1/1 [00:00<00:00, 159.58it/s]
[INFO] perform level-1 opt :100%|█| 2/2 [00:00<00:00, 626.34it/s]
[INFO] infer shape (NHWC) :100%|█| 127/127 [00:00<00:00, 42923.18it/s]
[INFO] generate xmodel :100%|█| 127/127 [00:00<00:00, 1305.38it/s]
[INFO] dump xmodel: /tmp/vek280_cifar10_resnet18_DPUCV2DX8G_ISA1_C20B14_org.xmodel
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: null
[UNILOG][INFO] Target architecture: DPUCV2DX8G_ISA1_C20B14
[UNILOG][INFO] Graph name: model_1, with op num: 229
[UNILOG][INFO] Begin to compile...
[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vek280/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vek280/vek280_cifar10_resnet18.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is 2ac3d4af4ed6e4ea9816fe73e58ca72d, and has been saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vek280/md5sum.txt"
**************************************************
* VITIS_AI Compilation - Xilinx Inc.
**************************************************
[INFO] Namespace(batchsize=1, inputs_shape=None, layout='NHWC', model_files=['./quantized_model/q_train2_resnet18_cifar10.h5'], model_type='tensorflow2', named_inputs_shape=None, out_filename='/tmp/vck5000_cifar10_resnet18_DPUCVDX8H_ISA1_F2W4_4PE_org.xmodel', proto=None)
[INFO] tensorflow2 model: /workspace/new_resnet18_cifar10/quantized_model/q_train2_resnet18_cifar10.h5
[INFO] keras version: 2.12.0
[INFO] Tensorflow Keras model type: functional
[INFO] parse raw model :100%|█| 81/81 [00:00<00:00, 30989.57it/s]
[INFO] infer shape (NHWC) :100%|█| 125/125 [00:00<00:00, 37964.37it/s]
[INFO] perform level-0 opt :100%|█| 1/1 [00:00<00:00, 151.67it/s]
[INFO] perform level-1 opt :100%|█| 2/2 [00:00<00:00, 632.24it/s]
[INFO] infer shape (NHWC) :100%|█| 127/127 [00:00<00:00, 38335.85it/s]
[INFO] generate xmodel :100%|█| 127/127 [00:00<00:00, 1324.63it/s]
[INFO] dump xmodel: /tmp/vck5000_cifar10_resnet18_DPUCVDX8H_ISA1_F2W4_4PE_org.xmodel
[UNILOG][INFO] Compile mode: dpu
[UNILOG][INFO] Debug mode: null
[UNILOG][INFO] Target architecture: DPUCVDX8H_ISA1_F2W4_4PE
[UNILOG][INFO] Graph name: model_1, with op num: 229
[UNILOG][INFO] Begin to compile...
[0;33m[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[m[UNILOG][INFO] Total device subgraph number 3, DPU subgraph number 1
[UNILOG][INFO] Compile done.
[UNILOG][INFO] The meta json is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vck5000/meta.json"
[UNILOG][INFO] The compiled xmodel is saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vck5000/vck5000_cifar10_resnet18.xmodel"
[UNILOG][INFO] The compiled xmodel's md5sum is 8ec85babb4a88095b13158ce03255850, and has been saved to "/workspace/new_resnet18_cifar10/./binary/compiled_vck5000/md5sum.txt"