Vitis-AI-Tutorials/RESNET18/CIFAR10 코드 실행

KiJungKong·2024년 2월 15일
0
post-thumbnail

generate_cifar10_dataset.ipynb

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]

train_resnet18.ipynb

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>

inspect_quantize_compile_resnet18.ipynb

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...
[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[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...
[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[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...
[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[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...
[UNILOG][WARNING] xir::Op{name = quant_global_average_pooling2d_fix, type = pool-fix}'s input and output is unchanged, so it will be removed.
[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"
profile
공기정

0개의 댓글

관련 채용 정보