quinta-feira, 1 de maio de 2025

MILK-V DUO S - RECAMERA OPEN SDK (BETA) NO MILK-V DUO S - PROVA DE CONCEITO

    


NÃO DISPONÍVEL - APENAS PROVA DE CONCEITO
(SEM WIFI, SEM BLUETOOTH, ETC)

Introdução

A detecção de objetos é um campo fascinante que ganhou muita atenção nos últimos anos devido à sua ampla gama de aplicações em áreas como carros autônomos, sistemas de segurança e assistência médica. YOLO11 (You Only Look Once versão 11) é um modelo de detecção de objetos de última geração que se tornou cada vez mais popular devido à sua alta precisão e velocidade de processamento rápida. Neste guia para iniciantes, exploraremos as etapas envolvidas no treinamento de um modelo YOLOv"11" do zero, incluindo preparação de dados, configuração do modelo e treinamento. Seja você um iniciante em aprendizado profundo ou um praticante experiente, este guia fornecerá uma base sólida para treinar seu próprio modelo YOLO11 e explorar o campo emocionante da detecção de objetos.

Para treinar um modelo de detecção de objetos YOLO11, você deve ter um DataSet de imagens anotadas que indiquem a localização dos objetos que você deseja que o modelo detecte. Embora DataSet de código aberto como COCO e Pascal VOC estejam disponíveis, um DataSet personalizado pode ser mais preciso para seu caso de uso específico. Dividir o DataSet em conjuntos de treinamento e validação também é uma etapa crucial para garantir a precisão e a confiabilidade do seu modelo.

Este blog tem como objetivo orientá-lo por todo o processo de treinamento e avaliação do seu próprio modelo YOLO11. Forneceremos uma introdução aos recursos do YOLO11 e discutiremos como anotar e preparar seu DataSet para treinamento. Em seguida, nos aprofundaremos no aspecto importante do treinamento do modelo, fornecendo instruções passo a passo para treinar seu modelo YOLO11 do zero. Por fim, explicaremos como avaliar o desempenho do seu modelo, fornecendo todo o conhecimento necessário para começar a detecção de objetos usando o YOLOv11. Seja você novo na detecção de objetos ou esteja procurando melhorar suas habilidades, este guia abrangente o equipará com as ferramentas necessárias para treinar um modelo de detecção de objetos YOLO11 com confiança.

Introdução

YOLOv11 "é" a versão mais recente e melhor da família YOLO (You Only Look Once) de modelos de detecção de objetos em tempo real. Desenvolvido por Glenn Jocher e a equipe da Ultralytics, o YOLOv11 representa uma revisão completa de seus predecessores e ostenta melhorias significativas em velocidade e precisão. Na verdade, o YOLO11 alcançou resultados de última geração em detecção de objetos em uma variedade de DataSet, incluindo os conhecidos benchmarks COCO e Pascal VOC.

Então o que torna o YOLOv11 tão especial? Sua arquitetura! O YOLO11 alavanca uma nova rede de backbone chamada CSPDarknet, que usa conexões parciais entre estágios para melhorar o fluxo de informações e a reutilização de recursos. Além disso, ele integra técnicas de ponta como Módulos de Atenção Espacial e funções de ativação Swish para aumentar ainda mais a precisão da detecção de objetos. Tudo isso mantendo velocidades de inferência em tempo real de até 140 quadros por segundo em uma única GPU, tornando-o um dos modelos de detecção de objetos mais rápidos e precisos que existem. Se você está procurando desenvolver aplicativos em campos como veículos autônomos, robótica ou sistemas de vigilância, o YOLO11 definitivamente vale uma olhada mais de perto.

DataSet e ferramenta de anotação

A base de qualquer projeto de detecção de objetos bem-sucedido é um DataSet bem curado. O DataSet fornece ao modelo as informações necessárias para reconhecer e localizar objetos com precisão. Portanto, antes de mergulhar no treinamento do modelo, é crucial reunir ou criar um bom DataSet que cubra uma ampla gama de cenários e variações que você prevê que o modelo encontrará no mundo real.

DataSet personalizados desempenham um papel crítico na obtenção de alta precisão e especificidade em tarefas de detecção de objetos. Embora vários DataSet de código aberto estejam disponíveis, como o DataSet COCO e o DataSet EgoHands, criar um DataSet personalizado que atenda ao seu caso de uso específico pode ser mais eficaz. Ferramentas de anotação como LabelImg e Roboflow podem ajudar na criação de tal DataSet No  intitulado “Construindo modelos precisos de detecção de objetos com RetinaNet: um guia passo a passo abrangente” , utilizei o LabelImg para anotação de imagem. No entanto, neste blog, demonstrarei como usar o Roboflow, uma ferramenta de anotação poderosa que pode agilizar o processo de preparação do DataSet.

Roboflow é uma plataforma de gerenciamento de dados tudo-em-um projetada para tarefas de visão computacional, como detecção de objetos, classificação de imagens e segmentação. Ela oferece uma gama de ferramentas para anotação de imagens, geração de DataSet e implantação de modelos. Com suas integrações com frameworks populares de aprendizado profundo como TensorFlow e PyTorch, o Roboflow facilita o treinamento de modelos usando seu DataSet personalizado.

Um dos recursos de destaque do Roboflow é sua ferramenta intuitiva de anotação de imagens baseada na web. A ferramenta permite que você rotule imagens com caixas delimitadoras, polígonos e outras formas que indicam a localização de objetos na imagem. Sua interface amigável e eficiência facilitam a rotulagem de grandes DataSet de forma rápida e precisa. Além disso, o Roboflow oferece vários recursos para gerenciar DataSet, incluindo aumento de dados, limpeza de dados e exportação de dados. Ele também fornece opções de pré-processamento, como redimensionamento e normalização, que podem melhorar o desempenho do modelo.

No geral, o Roboflow é uma ferramenta excelente para preparar e gerenciar DataSet personalizados para tarefas de visão computacional. Seus recursos abrangentes e interface amigável o tornam ideal tanto para iniciantes quanto para profissionais experientes. Para começar a usar o Roboflow, crie uma conta e configure um novo espaço de trabalho para começar a criar novos projetos.

Após criar um novo projeto no Roboflow, você pode começar a carregar as imagens que deseja anotar. O processo é simples e fácil de seguir. Você pode carregar imagens diretamente do seu computador ou de serviços de armazenamento em nuvem, como Google Drive ou Dropbox. Depois que as imagens forem carregadas, você pode começar a anotá-las usando as poderosas ferramentas de anotação da plataforma. Um exemplo do processo de upload pode ser visto na imagem abaixo:







Após carregar suas imagens no Roboflow, o próximo passo é atribuí-las para anotação. A anotação é um processo crucial na criação de um DataSet personalizado, e o Roboflow facilita isso com sua interface intuitiva. Basta desenhar caixas delimitadoras ao redor dos objetos de interesse, e a ferramenta salvará automaticamente as anotações. Depois de anotar suas imagens, uma caixa de diálogo aparecerá, permitindo que você divida as imagens em conjuntos de treinamento, validação e teste. É recomendável ter pelo menos 60–70% dos seus dados como dados de treinamento, pois isso fornece ao modelo exemplos suficientes para aprender. No entanto, a divisão pode ser ajustada para atender às suas necessidades específicas. Com a ferramenta de anotação do Roboflow e os recursos de gerenciamento de dados fáceis de usar, criar um DataSet personalizado para tarefas de detecção de objetos nunca foi tão fácil.

Para demonstrar o processo de upload de imagens para anotação, selecionei aleatoriamente imagens. Essas imagens são usadas como exemplos para ilustrar o processo de anotação no Roboflow.











Após concluir o processo de anotação, você pode criar um DataSet dividindo as imagens anotadas em conjuntos de treinamento, validação e teste (train, valid, test):


Após adicionar imagens ao DataSet e anotá-las, a próxima etapa é gerar uma nova versão do DataSet para exportar para seu IDE local ou Google Colab.

train-yolo11-object-detection-on-custom-dataset.ipynb - Colab

Durante o processo de geração, você pode escolher as etapas de pré-processamento e aumento de acordo com seus requisitos. Por exemplo, você pode redimensionar as imagens ou aplicar técnicas de aumento de dados, como rotação ou inversão, para aumentar a diversidade do DataSet. Assim que o processo de geração for concluído, você pode exportar facilmente seu DataSet e usá-lo para treinar seu modelo de detecção de objetos.














Após gerar uma nova versão do DataSet, o próximo passo é exportá-lo em um formato adequado para treinar o modelo. O Roboflow oferece a flexibilidade de exportar o DataSet em vários formatos, incluindo o formato YOLO11 Pytorch (.pt), que usaremos neste exemplo. Este formato é amplamente usado para treinar modelos de detecção de objetos e é compatível com estruturas populares de aprendizado profundo (Deep Learning), como o PyTorch. Depois de selecionar o formato de exportação desejado, o Roboflow gerará um link de download para o DataSet exportado. Você pode usar este link para baixar o DataSet para seu IDE local ou Google Colab para processamento e treinamento adicionais.



É crucial salvar o link de download gerado após exportar seu DataSet em um arquivo de texto para fácil acesso, especialmente se você planeja usá-lo em um notebook do Google Colab. 


Escolha YOLO11 e depois renomeie para train_data.zip para facilitar o entendimento abaixo.

Agora que preparamos nosso DataSet, é hora de mergulhar na parte emocionante do processo de detecção de objetos: treinar o modelo. Esta etapa é onde o algoritmo aprende a identificar e classificar objetos em imagens, permitindo que ele faça previsões precisas em dados não vistos. Então, vamos começar!

Treinamento de modelo

Neste artigo, usaremos o Colab para treinar o modelo de detecção de objetos YOLO11n em nosso DataSet personalizado. O Google Colab é uma plataforma poderosa e fácil de usar para treinar modelos de aprendizado profundo. O primeiro passo para começar a usar o YOLOv11s no Colab é clonar o repositório GitHub do YOLO11. Este repositório contém todo o código e os arquivos de configuração necessários para treinar o modelo. A clonagem do repositório pode ser feita executando um comando simples no notebook do Colab:

train-yolo11-object-detection-on-custom-dataset.ipynb - Colab

Comece instalando as ferramentas da ULTRALYTICS

%pip install "ultralytics<=8.3.40" supervision roboflow
import ultralytics
ultralytics.checks()


Após clonar o repositório YOLOv11s GitHub, precisamos configurar o ambiente e configurar o modelo para treinamento. Isso envolve várias etapas, como instalar as dependências necessárias, configurar os caminhos para o DataSet e os arquivos de configuração do modelo e especificar os parâmetros de treinamento, como tamanho do lote, taxa de aprendizado e número de épocas.


Após configurar o ambiente, o próximo passo é copiar o arquivo que foi gerado e salvo em do seu notebook Colab. Depois de colar o código, você pode executá-lo para baixar o DataSet e carregá-lo no seu ambiente Colab. Isso permitirá que você comece a treinar seu modelo YOLO11 usando os dados anotados.

Agora é hora de fazer o "Unzip" do arquivo ZIP

!unzip train_data.zip

Iniciar o treinamento

Consulte o data.yaml e você verá o seguinte conteúdo, são 2 conjuntos de imagens que devem ser treinadas, de Miguel e Andreia.


Agora temos que mandar treinar, execute o Script Python abaixo e aguarde o treinamento.

!yolo task=detect mode=train model=yolo11n.pt data=data.yaml epochs=200 imgsz=640

!yolo task=detect mode=train model=yolo11n.pt data=data.yaml epochs=200 imgsz=640


Neste comando, podemos especificar  os seguintes parâmetros:

  • imgsz: O tamanho das imagens de entrada durante o treinamento. Aqui, estamos configurando para 640x640 pixels.
  • epochs: O número de épocas para treinar. Aqui, estamos definindo para 100.
  • data: O local do arquivo YAML do DataSet que criamos no Roboflow.
  • mode: operação treino
  • model:  modelo base de treino

Depois que executarmos esse comando, o processo de treinamento começará e poderemos monitorar o progresso no notebook Colab.


Durante o processo de treinamento, o YOLO11 salva dois tipos de arquivos de checkpoint: 

last.ptbest.pt.

last.pté o último checkpoint salvo do modelo. Ele é atualizado após cada época de treinamento e contém os pesos do modelo naquele ponto do processo de treinamento. Este checkpoint pode ser usado para retomar o treinamento de onde ele foi interrompido ou para avaliar o desempenho do modelo em uma determinada época.

best.pté o ponto de verificação que tem a melhor perda de validação até agora. Ele é atualizado sempre que a perda de validação melhora e contém os pesos do modelo naquele ponto. Este ponto de verificação é útil para seleção de modelo, pois representa o ponto no processo de treinamento em que o modelo teve o melhor desempenho no conjunto de validação. Ambos last.ptbest.ptpodem ser usados ​​para inferência após a conclusão do processo de treinamento.

O arquivo .pt pode ser baixado do Google Colab para sua máquina local apenas clicando sobre o mesmo.

Este arquivo contém os pesos do modelo de melhor desempenho durante o treinamento. É importante salvar este arquivo em um local seguro, pois ele representa o modelo treinado e pode ser usado para fazer previsões em novas imagens ou para continuar treinando o modelo mais tarde.

Se COLAB venceu, faça treinamento no ambiente DuoCPU do DOCKER, mas seja paciente com a velocidade.


HORA DE PORTAR PARA O MILK-V :) - COLAB

shophgo tpu-mlir latest (apenas o docker)

docker do https://github.com/sophgo/tpu-mlir

sudo apt-get update

sudo apt-get upgrade

pip install ultralytics (yolo)

pip install tpu_mlir==1.7 


yolo export model=best.pt format=onnx imgsz=640,640

cd scripts/

python export.py \
--output_names "/model.23/cv2.0/cv2.0.2/Conv_output_0,/model.23/cv3.0/cv3.0.2/Conv_output_0,/model.23/cv2.1/cv2.1.2/Conv_output_0,/model.23/cv3.1/cv3.1.2/Conv_output_0,/model.23/cv2.2/cv2.2.2/Conv_output_0,/model.23/cv3.2/cv3.2.2/Conv_output_0" \
--dataset ../FAMILIA \
--test_input ../image/leste_jpg.rf.0eb2bc67b0858602b1fc15975bb974e3.jpg \
best.onnx

Veja log conversão

root@ccd90ab90589:/workspace/scripts# python export.py \ > --output_names "/model.23/cv2.0/cv2.0.2/Conv_output_0,/model.23/cv3.0/cv3.0.2/Conv_output_0,/model.23/cv2.1/cv2.1.2/Conv_output_0,/model.23/cv3.1/cv3.1.2/Conv_output_0,/model.23/cv2.2/cv2.2.2/Conv_output_0,/model.23/cv3.2/cv3.2.2/Conv_output_0" \ > --dataset ../FAMILIA \ > --test_input ../image/Imagem-do-WhatsApp-de-2025-02-21-a-s-15_50_23_76832ee6_jpg.rf.f3de079315960f7ce0325d2bb1478362.jpg \ > best.onnx Model: best.onnx Work Directory: ./work_dir Input Shapes: [[1, 3, 640, 640]] Mean Values: [0.0, 0.0, 0.0] Scale Values: [0.0039216, 0.0039216, 0.0039216] Pixel Format: rgb Output Names: ['/model.23/cv2.0/cv2.0.2/Conv_output_0', '/model.23/cv3.0/cv3.0.2/Conv_output_0', '/model.23/cv2.1/cv2.1.2/Conv_output_0', '/model.23/cv3.1/cv3.1.2/Conv_output_0', '/model.23/cv2.2/cv2.2.2/Conv_output_0', '/model.23/cv3.2/cv3.2.2/Conv_output_0'] Epoch: 200 Quantization Type: INT8 Chip: cv181x Quantize Input: True Quantize Table: None Model Transforming... model_transform --model_name best --model_def /workspace/scripts/best.onnx --input_shapes '[[1,3,640,640]]' --mean 0.0,0.0,0.0 --scale 0.0039216,0.0039216,0.0039216 --keep_aspect_ratio --pixel_format rgb --output_names /model.23/cv2.0/cv2.0.2/Conv_output_0,/model.23/cv3.0/cv3.0.2/Conv_output_0,/model.23/cv2.1/cv2.1.2/Conv_output_0,/model.23/cv3.1/cv3.1.2/Conv_output_0,/model.23/cv2.2/cv2.2.2/Conv_output_0,/model.23/cv3.2/cv3.2.2/Conv_output_0 --test_input /workspace/image/Imagem-do-WhatsApp-de-2025-02-21-a-s-15_50_23_76832ee6_jpg.rf.f3de079315960f7ce0325d2bb1478362.jpg --test_result best_top_outputs.npz --mlir best.mlir Command output: 2025/05/02 08:10:18 - INFO : TPU-MLIR v1.7-20240419 2025/05/02 08:10:18 - INFO : _____________________________________________________ | preprocess: | | (x - mean) * scale | '-------------------------------------------------------' config Preprocess args : resize_dims : same to net input dims keep_aspect_ratio : True keep_ratio_mode : letterbox pad_value : 0 pad_type : center -------------------------- mean : [0.0, 0.0, 0.0] scale : [0.0039216, 0.0039216, 0.0039216] -------------------------- pixel_format : rgb channel_format : nchw Input_shape assigned ConstantFolding finished skip_fuse_bn: False Onnxsim opt finished ConstantFolding finished Save mlir file: best_origin.mlir [Running]: tpuc-opt best_origin.mlir --shape-infer --canonicalize --extra-optimize -o best.mlir [Success]: tpuc-opt best_origin.mlir --shape-infer --canonicalize --extra-optimize -o best.mlir 2025/05/02 08:10:20 - INFO : Mlir file generated:best.mlir 2025/05/02 08:10:21 - INFO : load_config Preprocess args : resize_dims : [640, 640] keep_aspect_ratio : True keep_ratio_mode : letterbox pad_value : 0 pad_type : center input_dims : [640, 640] -------------------------- mean : [0.0, 0.0, 0.0] scale : [0.0039216, 0.0039216, 0.0039216] -------------------------- pixel_format : rgb channel_format : nchw [CMD]: model_runner.py --input best_in_f32.npz --model /workspace/scripts/best.onnx --output best_ref_outputs.npz 2025/05/02 08:10:22 - INFO : Saving best_ref_outputs.npz [CMD]: model_runner.py --input best_in_f32.npz --model best.mlir --output best_top_outputs.npz 2025/05/02 08:10:25 - INFO : Saving best_top_outputs.npz [/model.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 16, 320, 320) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 134.407730 [/model.0/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 16, 320, 320) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 132.061348 [/model.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.811695 [/model.1/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 32, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.822201 [/model.2/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.129051 [/model.2/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.047676 [/model.2/Split_output_0_Split ] SIMILAR [PASSED] (1, 16, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.061605 [/model.2/Split_output_1_Split ] SIMILAR [PASSED] (1, 16, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.406099 [/model.2/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 8, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 130.179071 [/model.2/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 8, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 128.656368 [/model.2/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 16, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.916971 [/model.2/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 16, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.041574 [/model.2/m.0/Add_output_0_Add ] SIMILAR [PASSED] (1, 16, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.924206 [/model.2/Concat_output_0_Concat ] SIMILAR [PASSED] (1, 48, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.848537 [/model.2/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.855438 [/model.2/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 160, 160) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.413263 [/model.3/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.348959 [/model.3/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.767387 [/model.4/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.355032 [/model.4/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.528387 [/model.4/Split_output_0_Split ] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.856266 [/model.4/Split_output_1_Split ] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.518301 [/model.4/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 16, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.133837 [/model.4/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 16, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.974955 [/model.4/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.019167 [/model.4/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.817274 [/model.4/m.0/Add_output_0_Add ] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 121.951199 [/model.4/Concat_output_0_Concat ] SIMILAR [PASSED] (1, 96, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.015957 [/model.4/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.781494 [/model.4/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.513454 [/model.5/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.790169 [/model.5/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.934708 [/model.6/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.724895 [/model.6/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.144581 [/model.6/Split_output_0_Split ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.959969 [/model.6/Split_output_1_Split ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.352692 [/model.6/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.899488 [/model.6/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.697727 [/model.6/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.323860 [/model.6/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.405575 [/model.6/m.0/m/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.222290 [/model.6/m.0/m/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.535807 [/model.6/m.0/m/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.867706 [/model.6/m.0/m/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.646564 [/model.6/m.0/m/m.0/Add_output_0_Add] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.393469 [/model.6/m.0/m/m.1/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.507996 [/model.6/m.0/m/m.1/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.633606 [/model.6/m.0/m/m.1/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.805447 [/model.6/m.0/m/m.1/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.304100 [/model.6/m.0/m/m.1/Add_output_0_Add] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.445749 [/model.6/m.0/Concat_output_0_Concat] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 124.407959 [/model.6/m.0/cv3/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.111168 [/model.6/m.0/cv3/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.396338 [/model.6/Concat_output_0_Concat ] SIMILAR [PASSED] (1, 192, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.939512 [/model.6/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.529869 [/model.6/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.318951 [/model.7/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.425240 [/model.7/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.010302 [/model.8/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.355427 [/model.8/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.402702 [/model.8/Split_output_0_Split ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.405029 [/model.8/Split_output_1_Split ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.271563 [/model.8/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.571705 [/model.8/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.565456 [/model.8/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.567667 [/model.8/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.381517 [/model.8/m.0/m/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.398127 [/model.8/m.0/m/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.541685 [/model.8/m.0/m/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 125.637627 [/model.8/m.0/m/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.017363 [/model.8/m.0/m/m.0/Add_output_0_Add] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.076023 [/model.8/m.0/m/m.1/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 125.509806 [/model.8/m.0/m/m.1/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.544497 [/model.8/m.0/m/m.1/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 125.957813 [/model.8/m.0/m/m.1/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 125.461407 [/model.8/m.0/m/m.1/Add_output_0_Add] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 125.593576 [/model.8/m.0/Concat_output_0_Concat] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.755535 [/model.8/m.0/cv3/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.138422 [/model.8/m.0/cv3/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.874670 [/model.8/Concat_output_0_Concat ] SIMILAR [PASSED] (1, 384, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.878023 [/model.8/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.345398 [/model.8/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.053141 [/model.9/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.300381 [/model.9/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.218880 [/model.9/m/MaxPool_output_0_MaxPool] CLOSE [PASSED] (1, 128, 20, 20) float32 close order = 5 [/model.9/m_1/MaxPool_output_0_MaxPool] CLOSE [PASSED] (1, 128, 20, 20) float32 close order = 5 [/model.9/m_2/MaxPool_output_0_MaxPool] CLOSE [PASSED] (1, 128, 20, 20) float32 close order = 5 [/model.9/Concat_output_0_Concat ] SIMILAR [PASSED] (1, 512, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 123.589478 [/model.9/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.081161 [/model.9/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.859329 [/model.10/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.705177 [/model.10/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.559586 [/model.10/Split_output_0_Split ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999998 sqnr_similarity = 116.245327 [/model.10/Split_output_1_Split ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.772087 [/model.10/m/m.0/attn/qkv/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.808651 [/model.10/m/m.0/attn/Reshape_output_0_Reshape] SIMILAR [PASSED] (1, 2, 128, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.808651 [/model.10/m/m.0/attn/Split_output_0_Split] SIMILAR [PASSED] (1, 2, 32, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.487614 [/model.10/m/m.0/attn/Split_output_1_Split] SIMILAR [PASSED] (1, 2, 32, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.528866 [/model.10/m/m.0/attn/Split_output_2_Split] SIMILAR [PASSED] (1, 2, 64, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.904015 [/model.10/m/m.0/attn/Transpose_output_0_Transpose] SIMILAR [PASSED] (1, 2, 400, 32) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.487614 [/model.10/m/m.0/attn/Reshape_2_output_0_Reshape] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.904015 [/model.10/m/m.0/attn/MatMul_output_0_MatMul] SIMILAR [PASSED] (1, 2, 400, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.898573 [/model.10/m/m.0/attn/pe/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.158350 [/model.10/m/m.0/attn/Mul_output_0_Mul] SIMILAR [PASSED] (1, 2, 400, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.893557 [/model.10/m/m.0/attn/Softmax_output_0_Softmax] CLOSE [PASSED] (1, 2, 400, 400) float32 close order = 5 [/model.10/m/m.0/attn/Transpose_1_output_0_Transpose] CLOSE [PASSED] (1, 2, 400, 400) float32 close order = 5 [/model.10/m/m.0/attn/MatMul_1_output_0_MatMul] SIMILAR [PASSED] (1, 2, 64, 400) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.720390 [/model.10/m/m.0/attn/Reshape_1_output_0_Reshape] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.720390 [/model.10/m/m.0/attn/Add_output_0_Add] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999998 sqnr_similarity = 115.831947 [/model.10/m/m.0/attn/proj/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999998 sqnr_similarity = 115.952311 [/model.10/m/m.0/Add_output_0_Add] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.857841 [/model.10/m/m.0/ffn/ffn.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.992434 [/model.10/m/m.0/ffn/ffn.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 116.340542 [/model.10/m/m.0/ffn/ffn.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 116.799450 [/model.10/m/m.0/Add_1_output_0_Add] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.464508 [/model.10/Concat_output_0_Concat] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.817974 [/model.10/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.474968 [/model.10/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.982391 [/model.11/Resize_output_0_Resize] SIMILAR [PASSED] (1, 256, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.982391 [/model.12/Concat_output_0_Concat] SIMILAR [PASSED] (1, 384, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.147457 [/model.13/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.073292 [/model.13/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.447910 [/model.13/Split_output_0_Split ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.645126 [/model.13/Split_output_1_Split ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.421898 [/model.13/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.130417 [/model.13/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.183184 [/model.13/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.293291 [/model.13/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.748304 [/model.13/m.0/Add_output_0_Add ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.189989 [/model.13/Concat_output_0_Concat] SIMILAR [PASSED] (1, 192, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.389717 [/model.13/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.144337 [/model.13/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.256351 [/model.14/Resize_output_0_Resize] SIMILAR [PASSED] (1, 128, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.256351 [/model.15/Concat_output_0_Concat] SIMILAR [PASSED] (1, 256, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.487919 [/model.16/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 125.356264 [/model.16/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 125.783920 [/model.16/Split_output_0_Split ] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 124.551868 [/model.16/Split_output_1_Split ] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 126.210613 [/model.16/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 16, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.325598 [/model.16/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 16, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.018414 [/model.16/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.651211 [/model.16/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.936684 [/model.16/m.0/Add_output_0_Add ] SIMILAR [PASSED] (1, 32, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.662058 [/model.16/Concat_output_0_Concat] SIMILAR [PASSED] (1, 96, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.939238 [/model.16/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.715654 [/model.16/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.780991 [/model.17/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.099224 [/model.23/cv2.0/cv2.0.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.311245 [/model.23/cv3.0/cv3.0.0/cv3.0.0.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 128.253679 [/model.17/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.205269 [/model.23/cv2.0/cv2.0.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.127424 [/model.23/cv3.0/cv3.0.0/cv3.0.0.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 129.455414 [/model.18/Concat_output_0_Concat] SIMILAR [PASSED] (1, 192, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.830717 [/model.23/cv2.0/cv2.0.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.988825 [/model.23/cv3.0/cv3.0.0/cv3.0.0.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.708277 [/model.19/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.163773 [/model.23/cv2.0/cv2.0.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.024107 [/model.23/cv3.0/cv3.0.0/cv3.0.0.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.913027 [/model.19/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.086655 [/model.23/cv2.0/cv2.0.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 126.066294 [/model.23/cv3.0/cv3.0.1/cv3.0.1.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.032080 [/model.19/Split_output_0_Split ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.017653 [/model.19/Split_output_1_Split ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.666302 [/model.19/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.690865 [/model.23/cv3.0/cv3.0.1/cv3.0.1.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 116.902246 [/model.23/cv3.0/cv3.0.1/cv3.0.1.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.246098 [/model.19/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 32, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.021017 [/model.19/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.070257 [/model.23/cv3.0/cv3.0.1/cv3.0.1.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.281075 [/model.23/cv3.0/cv3.0.2/Conv_output_0_Conv] CLOSE [PASSED] (1, 3, 80, 80) float32 close order = 5 [/model.19/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.805389 [/model.19/m.0/Add_output_0_Add ] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.066000 [/model.19/Concat_output_0_Concat] SIMILAR [PASSED] (1, 192, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.834061 [/model.19/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.234922 [/model.19/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.655870 [/model.20/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.923824 [/model.23/cv2.1/cv2.1.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.424675 [/model.23/cv3.1/cv3.1.0/cv3.1.0.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.349070 [/model.20/act/Mul_output_0_Mul ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.383249 [/model.23/cv2.1/cv2.1.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.707766 [/model.23/cv3.1/cv3.1.0/cv3.1.0.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 1.000000 sqnr_similarity = 124.928617 [/model.21/Concat_output_0_Concat] SIMILAR [PASSED] (1, 384, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.137840 [/model.23/cv2.1/cv2.1.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.945887 [/model.23/cv3.1/cv3.1.0/cv3.1.0.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.214878 [/model.22/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.408974 [/model.23/cv2.1/cv2.1.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.632057 [/model.23/cv3.1/cv3.1.0/cv3.1.0.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.425970 [/model.22/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.708305 [/model.23/cv2.1/cv2.1.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.852276 [/model.23/cv3.1/cv3.1.1/cv3.1.1.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.850733 [/model.22/Split_output_0_Split ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.462391 [/model.22/Split_output_1_Split ] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.908663 [/model.22/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.843260 [/model.22/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.169083 [/model.23/cv3.1/cv3.1.1/cv3.1.1.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.292986 [/model.23/cv3.1/cv3.1.1/cv3.1.1.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.111687 [/model.22/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 123.554163 [/model.22/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.092079 [/model.22/m.0/m/m.0/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.214151 [/model.23/cv3.1/cv3.1.1/cv3.1.1.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.278385 [/model.23/cv3.1/cv3.1.2/Conv_output_0_Conv] CLOSE [PASSED] (1, 3, 40, 40) float32 close order = 5 [/model.22/m.0/m/m.0/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.014950 [/model.22/m.0/m/m.0/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.964436 [/model.22/m.0/m/m.0/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.697803 [/model.22/m.0/m/m.0/Add_output_0_Add] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.620232 [/model.22/m.0/m/m.1/cv1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.814814 [/model.22/m.0/m/m.1/cv1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.255318 [/model.22/m.0/m/m.1/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.501060 [/model.22/m.0/m/m.1/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.342060 [/model.22/m.0/m/m.1/Add_output_0_Add] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.506140 [/model.22/m.0/Concat_output_0_Concat] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.769697 [/model.22/m.0/cv3/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.840040 [/model.22/m.0/cv3/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 128, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.468561 [/model.22/Concat_output_0_Concat] SIMILAR [PASSED] (1, 384, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.692722 [/model.22/cv2/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.034361 [/model.22/cv2/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.929758 [/model.23/cv2.2/cv2.2.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.764383 [/model.23/cv3.2/cv3.2.0/cv3.2.0.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.681343 [/model.23/cv2.2/cv2.2.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.719070 [/model.23/cv3.2/cv3.2.0/cv3.2.0.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 256, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 120.326433 [/model.23/cv2.2/cv2.2.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 122.172308 [/model.23/cv3.2/cv3.2.0/cv3.2.0.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 119.424019 [/model.23/cv2.2/cv2.2.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 121.628571 [/model.23/cv3.2/cv3.2.0/cv3.2.0.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.421288 [/model.23/cv2.2/cv2.2.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 124.626856 [/model.23/cv3.2/cv3.2.1/cv3.2.1.0/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.036833 [/model.23/cv3.2/cv3.2.1/cv3.2.1.0/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.524414 [/model.23/cv3.2/cv3.2.1/cv3.2.1.1/conv/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 117.966795 [/model.23/cv3.2/cv3.2.1/cv3.2.1.1/act/Mul_output_0_Mul] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 1.000000 euclidean_similarity = 0.999999 sqnr_similarity = 118.000259 [/model.23/cv3.2/cv3.2.2/Conv_output_0_Conv] CLOSE [PASSED] (1, 3, 20, 20) float32 close order = 5 230 compared 230 passed 0 equal, 8 close, 222 similar 0 failed 0 not equal, 0 not similar min_similiarity = (0.9999998211860657, 0.99999838506562, 115.83194732666016) Target best_top_outputs.npz Reference best_ref_outputs.npz npz compare PASSED. [Running]: npz_tool.py compare best_top_outputs.npz best_ref_outputs.npz --tolerance 0.99,0.99 --except - -vv [Success]: npz_tool.py compare best_top_outputs.npz best_ref_outputs.npz --tolerance 0.99,0.99 --except - -vv Model Quantizing... run_calibration best.mlir --dataset /workspace/FAMILIA --input_num 200 -o best_calib_table Command output: reused mem is 3584000, all mem is 46105200 TPU-MLIR v1.7-20240419 2025/05/02 08:11:03 - INFO : load_config Preprocess args : resize_dims : [640, 640] keep_aspect_ratio : True keep_ratio_mode : letterbox pad_value : 0 pad_type : center input_dims : [640, 640] -------------------------- mean : [0.0, 0.0, 0.0] scale : [0.0039216, 0.0039216, 0.0039216] -------------------------- pixel_format : rgb channel_format : nchw last input data (idx=24) not valid, droped input_num = 24, ref = 24 real input_num = 24 reused mem is 3584000, all mem is 46105200 reused mem is 3584000, all mem is 46105200 prepare data from 24 auto tune end, run time:990.453901052475 Model Deploying... model_deploy --mlir best.mlir --quantize INT8 --quant_input --processor cv181x --calibration_table best_calib_table --test_input /workspace/image/Imagem-do-WhatsApp-de-2025-02-21-a-s-15_50_23_76832ee6_jpg.rf.f3de079315960f7ce0325d2bb1478362.jpg --test_reference best_top_outputs.npz --customization_format RGB_PACKED --fuse_preprocess --aligned_input --model best_cv181x_int8.cvimodel Command output: 2025/05/02 08:29:36 - INFO : TPU-MLIR v1.7-20240419 2025/05/02 08:29:36 - INFO : load_config Preprocess args : resize_dims : [640, 640] keep_aspect_ratio : True keep_ratio_mode : letterbox pad_value : 0 pad_type : center input_dims : [640, 640] -------------------------- mean : [0.0, 0.0, 0.0] scale : [0.0039216, 0.0039216, 0.0039216] -------------------------- pixel_format : rgb channel_format : nchw 2025/05/02 08:29:36 - INFO : Add preprocess, set the following params: 2025/05/02 08:29:36 - INFO : _____________________________________________________ | preprocess: | | (x - mean) * scale | '-------------------------------------------------------' config Preprocess args : resize_dims : [640, 640] keep_aspect_ratio : True keep_ratio_mode : letterbox pad_value : 0 pad_type : center -------------------------- mean : [0.0, 0.0, 0.0] scale : [1.0, 1.0, 1.0] -------------------------- pixel_format : rgb channel_format : nhwc [/model.23/cv2.0/cv2.0.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 0.995295 euclidean_similarity = 0.898138 sqnr_similarity = 18.952421 [/model.23/cv3.0/cv3.0.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 3, 80, 80) float32 cosine_similarity = 0.999964 euclidean_similarity = 0.991433 sqnr_similarity = 9.366300 [/model.23/cv2.1/cv2.1.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 0.994555 euclidean_similarity = 0.894357 sqnr_similarity = 18.613962 [/model.23/cv3.1/cv3.1.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 3, 40, 40) float32 cosine_similarity = 0.999936 euclidean_similarity = 0.988652 sqnr_similarity = 9.743869 [/model.23/cv2.2/cv2.2.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 0.996327 euclidean_similarity = 0.914043 sqnr_similarity = 20.873590 [/model.23/cv3.2/cv3.2.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 3, 20, 20) float32 cosine_similarity = 0.999688 euclidean_similarity = 0.974999 sqnr_similarity = 14.140296 6 compared 6 passed 0 equal, 0 close, 6 similar 0 failed 0 not equal, 0 not similar min_similiarity = (0.9945549368858337, 0.8943571971465557, 9.366300106048584) Target best_cv181x_int8_sym_tpu_outputs.npz Reference best_top_outputs.npz npz compare PASSED. [/model.23/cv2.0/cv2.0.2/Conv_output_0_Conv_f32] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 0.999921 euclidean_similarity = 0.987453 sqnr_similarity = 37.266529 [/model.23/cv2.0/cv2.0.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 80, 80) float32 cosine_similarity = 0.999922 euclidean_similarity = 0.987463 sqnr_similarity = 37.273498 [/model.23/cv3.0/cv3.0.2/Conv_output_0_Conv_f32] SIMILAR [PASSED] (1, 3, 80, 80) float32 cosine_similarity = 0.999997 euclidean_similarity = 0.997632 sqnr_similarity = 20.396037 [/model.23/cv3.0/cv3.0.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 3, 80, 80) float32 cosine_similarity = 0.999997 euclidean_similarity = 0.997726 sqnr_similarity = 20.837188 [/model.23/cv2.1/cv2.1.2/Conv_output_0_Conv_f32] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 0.999820 euclidean_similarity = 0.981022 sqnr_similarity = 33.583984 [/model.23/cv2.1/cv2.1.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 40, 40) float32 cosine_similarity = 0.999820 euclidean_similarity = 0.981027 sqnr_similarity = 33.586521 [/model.23/cv3.1/cv3.1.2/Conv_output_0_Conv_f32] SIMILAR [PASSED] (1, 3, 40, 40) float32 cosine_similarity = 0.999992 euclidean_similarity = 0.996086 sqnr_similarity = 18.911686 [/model.23/cv3.1/cv3.1.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 3, 40, 40) float32 cosine_similarity = 0.999993 euclidean_similarity = 0.996158 sqnr_similarity = 19.131384 [/model.23/cv2.2/cv2.2.2/Conv_output_0_Conv_f32] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 0.999694 euclidean_similarity = 0.975236 sqnr_similarity = 31.698518 [/model.23/cv2.2/cv2.2.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 64, 20, 20) float32 cosine_similarity = 0.999694 euclidean_similarity = 0.975260 sqnr_similarity = 31.706815 [/model.23/cv3.2/cv3.2.2/Conv_output_0_Conv_f32] SIMILAR [PASSED] (1, 3, 20, 20) float32 cosine_similarity = 0.999959 euclidean_similarity = 0.990962 sqnr_similarity = 22.939637 [/model.23/cv3.2/cv3.2.2/Conv_output_0_Conv] SIMILAR [PASSED] (1, 3, 20, 20) float32 cosine_similarity = 0.999959 euclidean_similarity = 0.990923 sqnr_similarity = 22.907794 12 compared 12 passed 0 equal, 0 close, 12 similar 0 failed 0 not equal, 0 not similar min_similiarity = (0.9996935129165649, 0.9752362147498437, 18.911685943603516) Target best_cv181x_int8_sym_model_outputs.npz Reference best_cv181x_int8_sym_tpu_outputs.npz npz compare PASSED. [Running]: tpuc-opt best.mlir --processor-assign="chip=cv181x num_device=1 num_core=1" --import-calibration-table="file=best_calib_table asymmetric=False" --processor-top-optimize --fuse-preprocess="mode=INT8 customization_format=RGB_PACKED align=True" --convert-top-to-tpu="mode=INT8 asymmetric=False doWinograd=False ignore_f16_overflow=False q_group_size=0" --canonicalize --weight-fold -o best_cv181x_int8_sym_tpu.mlir [Success]: tpuc-opt best.mlir --processor-assign="chip=cv181x num_device=1 num_core=1" --import-calibration-table="file=best_calib_table asymmetric=False" --processor-top-optimize --fuse-preprocess="mode=INT8 customization_format=RGB_PACKED align=True" --convert-top-to-tpu="mode=INT8 asymmetric=False doWinograd=False ignore_f16_overflow=False q_group_size=0" --canonicalize --weight-fold -o best_cv181x_int8_sym_tpu.mlir [CMD]: model_runner.py --input best_in_ori.npz --model best_cv181x_int8_sym_tpu.mlir --output best_cv181x_int8_sym_tpu_outputs.npz [Running]: npz_tool.py compare best_cv181x_int8_sym_tpu_outputs.npz best_top_outputs.npz --tolerance 0.8,0.5 --except - -vv [Success]: npz_tool.py compare best_cv181x_int8_sym_tpu_outputs.npz best_top_outputs.npz --tolerance 0.8,0.5 --except - -vv [Running]: tpuc-opt best_cv181x_int8_sym_tpu.mlir --mlir-disable-threading --strip-io-quant="quant_input=True quant_output=False quant_input_list= quant_output_list=" --processor-tpu-optimize --dev-parallel --weight-reorder --subnet-divide="dynamic=False" --op-reorder --layer-group="opt=2 group_by_cores=auto compress_mode=none" --core-parallel --address-assign="addr_mode=auto" -o best_cv181x_int8_sym_final.mlir [Success]: tpuc-opt best_cv181x_int8_sym_tpu.mlir --mlir-disable-threading --strip-io-quant="quant_input=True quant_output=False quant_input_list= quant_output_list=" --processor-tpu-optimize --dev-parallel --weight-reorder --subnet-divide="dynamic=False" --op-reorder --layer-group="opt=2 group_by_cores=auto compress_mode=none" --core-parallel --address-assign="addr_mode=auto" -o best_cv181x_int8_sym_final.mlir [Running]: tpuc-opt best_cv181x_int8_sym_final.mlir --codegen="model_file=best_cv181x_int8.cvimodel embed_debug_info=false model_version=latest" -o /dev/null [Success]: tpuc-opt best_cv181x_int8_sym_final.mlir --codegen="model_file=best_cv181x_int8.cvimodel embed_debug_info=false model_version=latest" -o /dev/null [CMD]: model_runner.py --input best_in_ori.npz --model best_cv181x_int8.cvimodel --output best_cv181x_int8_sym_model_outputs.npz [Running]: npz_tool.py compare best_cv181x_int8_sym_model_outputs.npz best_cv181x_int8_sym_tpu_outputs.npz --tolerance 0.99,0.90 --except - -vv [Success]: npz_tool.py compare best_cv181x_int8_sym_model_outputs.npz best_cv181x_int8_sym_tpu_outputs.npz --tolerance 0.99,0.90 --except - -vv setenv:cv181x Start TPU Simulator for cv181x device[0] opened, 4294967296 version: 1.4.0 best Build at 2025-05-02 08:29:49 For platform cv181x Cmodel: bm_load_cmdbuf Max SharedMem size:2560000 Cmodel: bm_run_cmdbuf device[0] closed







Transferindo para Milk-v Duo S RECAMERA



Testes


"{"code":0,"data":{"boxes":[[229,301,325,299,84,2]],"count":187,"image":"","labels":["Miguel"],"perf":[[0,53,1]],"resolution":[640,640]},"name":"invoke","type":1}"



O conteúdo de Function4

// Parse the JSON string into a JavaScript object
const parsedJson = JSON.parse(msg.payload);

// Access the labels field
const labels = parsedJson.data.labels;

msg.payload = labels[0];

if(msg.payload === 'Miguel')
{
    //faça algo aqui...
}

return msg;


Referência (Tradução) e testes com MILK-V

Monkey CVI model · Issue #37 · Seeed-Studio/reCamera-OS
SSCMA-Micro/docs/protocol/at-protocol-en_US.md at main · Seeed-Studio/SSCMA-Micro

Sobre a SMARTCORE

A SMARTCORE FORNECE CHIPS E MÓDULOS PARA IOT, COMUNICAÇÃO WIRELESS, BIOMETRIA, CONECTIVIDADE, RASTREAMENTO E AUTOMAÇÃO. NOSSO PORTFÓLIO INCLUI MODEM 2G/3G/4G/NB-IOT, SATELITAL, MÓDULOS WIFI, BLUETOOTH, GPS, SIGFOX, LORA, LEITOR DE CARTÃO, LEITOR QR CCODE, MECANISMO DE IMPRESSÃO, MINI-BOARD PC, ANTENA, PIGTAIL, BATERIA, REPETIDOR GPS E SENSORES

Nenhum comentário:

Postar um comentário