Visualizzazione post con etichetta Colab. Mostra tutti i post
Visualizzazione post con etichetta Colab. Mostra tutti i post

venerdì 29 marzo 2024

Yolo 8 in Google Colab

Ho provato a vedere di sfruttare le risorse gratuite di Google Colab per fare il retraining di Yolo del precedente post

Per prima cosa si copiano i files su Google Drive e si concede la lettura a Colab

import os, sys
from google.colab import drive
drive.mount('/content/drive')
nb_path = '/content/notebooks'
os.symlink('/content/drive/My Drive/Colab Notebooks', nb_path)
sys.path.insert(0,nb_path)

In seguito si installa Yolo 

%pip install ultralytics
import ultralytics
ultralytics.checks()

Ho usato per semplicita' la modalita'a linea nei comando (basta mettere un punto interrogativo prima del comando) effettuando i puntamenti sui folder GDrive

!yolo task=detect mode=train model=yolov8m.pt imgsz=640 data=/content/drive/MyDrive/ocean_trash/data.yaml epochs=60 batch=32 name=yolov8m_e60_b32_trash

Rispetto alla prova sul portatile ho potuto utilizzare la YOLO M al posto di YOLO N impostando le epoch a 60 e la batch a 32 (con queste impostazioni siamo quasi al limite dei 15 Gb di memoria disponibili sulla GPU T4 disponibile nel profilo gratuito)

Rispetto alla rete addestrata sul portatile con YOLO N, 10 epoch e 4 batch c'e' un significativo miglioramento a parita'di set di immagini di addestramento anche se la classe Rope risulta permanere come mal classificata






mercoledì 8 gennaio 2020

Esempio Retraining an image classifier

Ho trovato un esempio completo per il retraining di un classificatore di immagini a questo link

https://colab.research.google.com/github/tensorflow/hub/blob/master/examples/colab/tf2_image_retraining.ipynb

Si tratta di un Jupyter Notebook in cui si puo' attivare data augmentation e fine tuning e si puo' scegliere tra MobileNet v2 e Inception v3. I dati presentano gia' uno split con il 20% destinato alla validazione e shuffle del training, shuffle sul training, dropout

Girando su Colab si ha a disposizione una istanza con 12 Gb di Ram ed una GPU da 16 Gb di ram.
Il modello viene salvato nel formato .pb ma puo' essere convertito in formato .tflite con una verifica di quanto si perda in prestazioni utilizzando il formato di TensorFlow Lite

per attivare ogni singola cella di codice si usa CTRL+Enter



il file puo' essere visualizzato, una volta scaricato dal proprio GDrive, con il comando

saved_model_cli show --dir fora2/ --all

----------------------------------------------------------------------------
MetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:

signature_def['__saved_model_init_op']:
  The given SavedModel SignatureDef contains the following input(s):
  The given SavedModel SignatureDef contains the following output(s):
    outputs['__saved_model_init_op'] tensor_info:
        dtype: DT_INVALID
        shape: unknown_rank
        name: NoOp
  Method name is: 

signature_def['serving_default']:
  The given SavedModel SignatureDef contains the following input(s):
    inputs['input_1'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, 224, 224, 3)
        name: serving_default_input_1:0
  The given SavedModel SignatureDef contains the following output(s):
    outputs['output_1'] tensor_info:
        dtype: DT_FLOAT
        shape: (-1, 5)
        name: StatefulPartitionedCall:0
  Method name is: tensorflow/serving/predict



venerdì 3 gennaio 2020

Colab e TensorFlow

Colab e' una piattaforma cloud offerta da Google per sviluppare utilizzando i Jupiter Notebook..con la possibilita' di utilizzare anche una GPU con ovvi vantaggi nell'uso di Tensorflow

I dati si possono caricare su Google Drive ed essere condivisi con Colab tramite il codice sottostante.


Prima di poter utilizzare Colab si deve cliccare sul link, ottenere una chiave che dovremo incollare sulla pagina

La configurazione della GPU si trova su Notebook settings e dai log di Tensorflow risulta essere una Tesla P100-PCIE-16GB (la disponibilita' della CPU non e' garantita)


Di seguito la rete neurale dei foraminiferi in esecuzione su Colab. Da notare che dalla seconda epoch
entra in funzione la GPU con un significativo incremento delle prestazioni






Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...