Migliora i tuoi progetti di Data Science, Machine Learning e Computer Vision Strumenti essenziali per una gestione efficace del progetto

Migliora i tuoi progetti di Data Science, Machine Learning e Computer Vision con strumenti essenziali per una gestione efficace del progetto.

Rendi i tuoi compilati e progetti più veloci con questi strumenti

Foto di Eden Constantino su Unsplash

I progetti di machine learning o data science sono molto complessi da costruire in quanto contengono molti tipi di file e diverse architetture. Ma sorprendentemente, ho scoperto vari strumenti per la gestione dei progetti che ti aiuteranno a velocizzare il tuo progetto. Questi sono strumenti indipendenti che ti aiuteranno a lavorare per la gestione delle librerie e dei pacchetti, nonché a lavorare in modo asincrono per rendere l’esecuzione più veloce.

1. Cookiecutter

Cookiecutter è uno strumento che usiamo per tagliare biscotti molto duri fatti da persone. [Scusa per il mio sarcasmo]. Capiamo in dettaglio cookiecutter.

Come descritto nella pagina ufficiale di Cookiecutter,

Cookiecutter è un pacchetto Python, facilmente installabile con pip o altri gestori di pacchetti, che ti consente di creare e utilizzare modelli per microservizi e progetti software. È uno strumento da riga di comando che non richiede conoscenze di Python per essere utilizzato.

quando iniziamo il progetto ML-DL-CV, abbiamo molte cose da aggiungere al nostro repository. Inizialmente, durante la strutturazione dei progetti, è difficile sapere quali cose avremo bisogno in futuro per il progetto. ad esempio, API, modelli, front-end, percorsi, file principali e molti altri elementi. Gestire tutto e i percorsi per ogni tipo di file diventerà confuso durante l’elaborazione di progetti complessi. Cookiecutter fornisce soluzioni per questo tipo di problema.

Quando fatto correttamente, una buona organizzazione del progetto può risparmiarti tempo, ma può anche richiedere tempo e sforzo quando inizi un nuovo progetto e sei costretto a creare file README. C’è sempre l’opzione di semplicemente clonare un vecchio progetto e cancellare o modificare i file e le cartelle esistenti, ma questo non è né più piacevole né più veloce rispetto a iniziare da zero. Cookiecutter fornisce modelli incorporati che possiamo utilizzare per impostare la struttura del nostro progetto.

Installazione di Cookiecutter

pip install cookiecutter

Utilizzando conda

conda install -c conda-forge cookiecutter

Possiamo anche utilizzare il modello incorporato per creare la struttura del nostro progetto.

# Creare un progetto dal modello del repository cookiecutter-pypackage.git# Ti verrà chiesto di inserire dei valori.# Quindi creerà il tuo pacchetto Python nella directory di lavoro corrente,# basandosi su quei valori.$ cookiecutter https://github.com/audreyfeldroy/cookiecutter-pypackage# Per questioni di brevità, i repository su GitHub possono utilizzare semplicemente il prefisso 'gh'$ cookiecutter gh:audreyfeldroy/cookiecutter-pypackage

Puoi creare un semplice modello con il modello jinja di cookiecutter o puoi importare quello incorporato come menzionato sopra. È molto semplice come installare qualsiasi libreria Python e clonare qualsiasi repository git.

Documentazione di cookiecutter: Qui

Repository di cookiecutter: Qui

Alcuni modelli che ho trovato utili per progetti di ML – DL:

Per progetto di data science: Clicca qui

Per computer vision: Clicca qui

Puoi esplorare cookiecutter di più e scegliere quali modelli sono adatti per il tuo progetto.

2. Poetry

La poesia è un’arte, ma non qui. Qui la poesia è un gestore di pacchetti. Vediamolo in dettaglio.

Poetry è un innovativo strumento di gestione dei pacchetti Python che semplifica la creazione, la gestione e la pubblicazione di pacchetti Python.

Per la gestione delle dipendenze, la creazione di pacchetti e il loro caricamento su PyPI (Python Package Index), il repository ufficiale per i pacchetti Python, offre un’interfaccia a riga di comando semplice da usare.

benefici dell’utilizzo di Poetry per la gestione dei pacchetti [Fonte]

  • Risoluzione delle dipendenze
  • Ambienti virtuali
  • Creazione di progetti
  • Creazione e confezionamento integrati
  • Pubblicazione su PyPI

Installazione di Poetry

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -

oppure per gli utenti di Linux, macOS e Windows Subsystem for Linux (WSL), apri il terminale e esegui il seguente comando

curl -sSL https://install.python-poetry.org | python3 -

Creare un nuovo progetto

poetry new My Project 

Questo creerà una nuova cartella chiamata My Projectcon la seguente struttura.

My Project├── pyproject.toml├── README.md├── phone_number_validator│   └── __init__.py└── tests     └── __init__.py

La poetry creerà la struttura dei file mostrata nell’immagine seguente.

Struttura dei file creata dopo l'utilizzo di poetry [Immagine dell'autore]
File .lock che memorizza le dipendenze per i rispettivi pacchetti [Immagine dell'autore]
File .toml in cui possiamo aggiungere file come facciamo con pip install [Immagine dell'autore]

Ecco come poetry utilizza diversi file per gestire le dipendenze del tuo progetto.

Documentazione di Poetry: Qui

Repo di Poetry: Qui

3. FastAPI

FastAPI è un framework web all’avanguardia per la creazione di API RESTful in Python. Grazie alla sua semplicità, velocità e resilienza, è rapidamente diventato un favorito tra gli sviluppatori fin dal suo rilascio iniziale nel 2018. Per la convalida, la serializzazione e la deserializzazione dei dati, FastAPI utilizza Pydantic e gli hint di tipo.

Confronto tra FastAPI e django, Flask [Fonte: Qui]

Perché FastAPI? perché supporta l’asincronia che rende le applicazioni più veloci. Se desideri il supporto asincrono per Django o Flask, avrai bisogno di qualcosa come un salario in Python.

Installazione

pip install fastapi

Hai anche bisogno di un server ASGI, per la produzione come Uvicorn o Hypercorn.

pip install "uvicorn[standard]"

Creazione di un semplice FastAPI.

from typing import Unionfrom fastapi import FastAPIapp = FastAPI()@app.get("/")def read_root():    return {"Hello": "World"}@app.get("/items/{item_id}")def read_item(item_id: int, q: Union[str, None] = None):    return {"item_id": item_id, "q": q}

Per eseguire FastAPI,

uvicorn main:app --reload

qui sto assumendo che main sia il nome del tuo file .py. Se il nome del tuo file è diverso, puoi utilizzare uvicorn nome_tuo_file:app per eseguire la tua app.

--reload: quando apporti modifiche e salvi il progetto, FastAPI si ricaricherà automaticamente e acquisirà le modifiche. Per questo usiamo questo comando.

Puoi anche specificare una porta e un host se necessario.

Come testare FastAPI? Con Postman?

Qui non è necessario Postman !!!!

FastAPI include un’interfaccia integrata Swagger per gestire le richieste e le risposte. FastAPI fornisce la propria interfaccia per testare l’API ed è conosciuta come API SWAGGER.

FastAPI SWAGGER

Come suggerisce il nome, FastAPI è molto adatto per creare API per casi d’uso di data science, ML e DL.

Documentazione di FastAPI: Fai clic qui

Repository di FastAPI: Fai clic qui

Questi sono vari strumenti che ho pensato potrebbero essere utili per accelerare i tuoi progetti. Ho dato una breve panoramica di questi strumenti, altrimenti dettagliare renderebbe questo blog molto lungo. Ma sicuramente puoi controllare i link che ho fornito e approfondire per capire efficacemente questi strumenti.

Se hai trovato questo articolo illuminante

E un fatto provato che “La generosità ti rende una persona più felice”; quindi, applaude all’articolo se ti è piaciuto. Se hai trovato questo articolo illuminante, seguimi su Linkedin e VoAGI. Puoi anche iscriverti per ricevere notifiche quando pubblico articoli. Creiamo una comunità! Grazie per il tuo supporto!

Inoltre, VoAGI non mi dà nulla per scrivere, se vuoi supportarmi puoi fare clic qui per offrirmi un caffè.

Puoi leggere altri miei blog aggiornati

Come le bolle filtranti stanno influenzando le tue opinioni sui social media

Bolle filtranti e camere d’eco: come i social media influenzano le nostre opinioni e il ruolo dell’IA in esse

VoAGI.com

Comprensione di LangChain 🦜️🔗: PARTE 1

Comprensione teorica di catene, promp e altri moduli importanti in Langchain

pub.towardsai.net

Quantificare l’aleatorietà nel comportamento umano

Fidati di me, l’umano è la cosa più aleatoria al mondo

generativeai.pub

Guida completa: Risorse principali per la visione computer, tutto in un blog

Salva questo blog per risorse complete per la visione computer

VoAGI.com

Concludendo,

Chinmay!