top of page

Risultati Ricerca Intelligenza Artificiale Italia

461 risultati trovati per "intelligenza artificiale aziendale"

  • Sora OpenAI Cos'è e Come usare il Rivoluzionario Modello Text-to-Video

    In un'era in cui l'intelligenza artificiale sta ridefinendo i confini della tecnologia, "Sora", il rivoluzionario Sora rappresenta un significativo progresso nel campo dell'intelligenza artificiale, in grado di generare Evoluzione dell'intelligenza artificiale da testo a video Nel regno dell'intelligenza artificiale, l'evoluzione Sora è un modello di intelligenza artificiale text-to-video progettato per simulare il mondo fisico in Sora rappresenta un passo avanti nell'integrazione di intelligenza artificiale e produzione di contenuti

  • Cos'è un modello di Machine Learning o Apprendimento Automatico?

    I modelli di apprendimento automatico o machine learning svolgono un ruolo fondamentale nell'intelligenza artificiale. La spiegazione Completa Ciclo di vita del Machine Learning e delle Intelligenze artificiali Questi modelli Preparare i dati E' necessario modellare i dati aziendali raccolti in modo che possano essere utilizzati per confrontare le prestazioni tra diversi modelli di machine learning per il tuo specifico problema aziendale

  • Cosa è Docker e come funziona, la guida completa fino all'istallazione

    Google, Amazon Web Services (AWS), Intel, Tesla sono solo alcune delle principali aziende tecnologiche

  • Cosa sono le reti neurali ricorrenti RNN? Un'introduzione alle reti neurali ricorrenti

    Una rete neurale ricorrente è una classe di reti neurali artificiali in cui le connessioni tra i nodi

  • Come elaborare le immagini con NumPy e Python

    Una guida per principianti all'elaborazione delle immagini utilizzando NumPy. Poiché le immagini possono anche essere considerate come costituite da array, possiamo utilizzare NumPy per eseguire diverse attività di elaborazione delle immagini anche da zero. In questo articolo, impareremo le attività di elaborazione delle immagini che possono essere eseguite solo utilizzando NumPy. Per lo più troviamo gli usi di NumPy nei problemi in cui ci viene richiesto di eseguire operazioni matematiche e logiche su diverse dimensioni di array. Poiché le immagini possono anche essere considerate come costituite da array, possiamo utilizzare NumPy per eseguire diverse attività di elaborazione delle immagini anche da zero. In questo articolo, impareremo le attività di elaborazione delle immagini che possono essere eseguite solo utilizzando NumPy. Questo sarà utile per i principianti per comprendere l'elaborazione delle immagini dalle sue basi. Qui sotto troverai un sommario che ricapitola tutto ciò di cui parleremo in questo articolo Sommario di Come elaborare le immagini con NumPy e Python Caricamento dell'immagine Ritaglio dell'immagine Separazione dei colori Trasformazione Conversione in scala di grigi Segmentazione dell'immagine Questi 6 step solitamente sono i più comuni e quotidianamente usati da chi lavora in ambito computer vision. Come sempre oltre alla parte teorica ci teniamo che tu segua passo passo l'articolo, per questo cliccando su questo Link (poi clicca in basso a destra "crea nuovo blocco note") e copiando e incollando il codice passo passo potrai seguirci senza difficoltà. Che altro dire, iniziamo con l'importazione delle librerie e il caricamento di un'immagine casuale. Caricamento dell'immagine import numpy as np import urllib.request as url stream = url.urlopen("http://matplotlib.sourceforge.net/_static/logo2.png") import matplotlib.pylab as plt %matplotlib inline image = plt.imread(stream) print(image) Output: [[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.] ... [0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]] ... [[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.] Qui possiamo vedere la forma grezza dell'immagine. Poiché matematicamente le immagini sono costituite da valori di pixel nell'output sopra, possiamo vedere che abbiamo alcuni numeri che definiscono i colori nell'immagine e l'immagine è fondamentalmente un array o un array NumPy. Possiamo anche mostrare l'immagine usando la libreria matplotlib . imgplot = plt.imshow(image) Output: Ritaglio dell'immagine Dopo aver caricato l'immagine siamo pronti per eseguire azioni sull'immagine. Come molto semplice, possiamo eseguire operazioni di ritaglio di base sulla nostra immagine. Per NumPy, l'operazione di ritaglio può essere eseguita tagliando l'array. crop_img = image[20:199,:200,:] imgplot = plt.imshow(crop_img) Output : Qui possiamo vedere che abbiamo ritagliato la nostra immagine. Ora possiamo passare alla nostra prossima fase di elaborazione delle immagini. Separazione dei colori Poiché sappiamo che ogni immagine è composta da valori di pixel e questi valori di pixel rappresentano tre numeri interi noti come valore RGB del suo colore . Per separare l'immagine in questi colori è necessario estrarre la fetta corretta dell'array di immagini. fig, axs = plt.subplots(nrows=1, ncols=3, figsize=(20,8)) for c, ax in zip(range(3), axs): rgb_img = np.zeros(image.shape, dtype="uint8") rgb_img[:,:,c] = image[:,:,c] ax.imshow(rgb_img) ax.set_axis_off() Qui nell'output, potremmo vedere che abbiamo separato l'RGB dell'immagine per questo abbiamo mappato i valori nell'intervallo da 0 a 1 e cast per digitare uint8. Passiamo alla fase successiva dell'elaborazione delle immagini. Trasformazioni In questo passaggio, eseguiremo la trasformazione del colore. A questo scopo, possiamo trattare il pixel dell'immagine come un punto nello spazio. Trattare in questo modo i pixel dell'immagine ci consente di eseguire una trasformazione nel punto di colore. La rotazione del punto di colore può essere un esempio dell'affermazione precedente. Qui stiamo applicando la funzione di notazione di Einstein di Numpy, che è un metodo per applicare una matrice di rotazione, in pixel, all'immagine. def do_normalise(image): return -np.log(1/((1 + image)/257) - 1) def undo_normalise(image): return (1 + 1/(np.exp(-image) + 1) * 257).astype("uint8") def rotation_matrix(theta): return np.c_[ [1,0,0], [0,np.cos(theta),-np.sin(theta)], [0,np.sin(theta),np.cos(theta)] ] img_norm = do_normalise(image) img_rot = np.einsum("ijk,lk->ijl", img_norm, rotation_matrix(np.pi)) img = undo_normalise(img_rot) imgplot = plt.imshow(img_norm) #copiando e incollando questa trasformazione su un altra immagine a caso potresti avere degli errori, ma non preoccuparti presto pubblicheremo guide complete anche sulla traformazione Qui nell'output, potrete vedere che il sigmoid applicato allo spazio colore ha funzionato e stiamo applicando continuamente la rotazione del colore dei pixel. Ora, nel passaggio successivo, vedremo come convertire un'immagine in un'immagine in scala di grigi. Conversione in scala di grigi Possiamo anche usare NumPy per trasformare l'immagine in un'immagine in scala di grigi. Prendendo la media ponderata del valore RGB dell'immagine possiamo eseguire questo. rgb_weights = [0.2989, 0.5870, 0.1140] grayscale_image = np.dot(image[...,:3], rgb_weights) imgplot = plt.imshow(grayscale_image) Output: Ecco l'immagine dell'output del nostro processo di conversione in scala di grigi. Passiamo alla fase successiva dell'elaborazione delle immagini. Segmentazione dell'immagine Questo è uno dei passaggi di elaborazione delle immagini più utilizzati in cui segmentiamo diverse regioni di immagini. Esistono vari modi per farlo, ad esempio in primo piano e in background. Ad esempio, in questo articolo vedremo come possiamo eseguire la segmentazione convertendo l'immagine in scala di grigi e trovando una soglia. I pixel nell'immagine che si trovano al di sopra della soglia si trovano in una regione e gli altri in un'altra regione. def simple_threshold(image, threshold=128): return ((image > threshold) * 255).astype("uint8") def rgb2gray(rgb): r, g, b = rgb[:,:,0], rgb[:,:,1], rgb[:,:,2] gray = 0.2989 * r + 0.5870 * g + 0.1140 * b return gray thresholds = [100,120,128,138,150] fig, axs = plt.subplots(nrows=1, ncols=len(thresholds), figsize=(20,5)); gray_im = rgb2gray(image) for t, ax in zip(thresholds, axs): ax.imshow(simple_threshold(gray_im, t), cmap='Greys'); ax.set_title("Threshold: {}".format(t), fontsize=20); ax.set_axis_off(); Nell'output che vi uscirà, potrete vedere che abbiamo segmentato l'immagine in due regioni usando diversi valori di soglia. Conclusione In questo articolo, abbiamo discusso le diverse attività di elaborazione delle immagini che abbiamo eseguito utilizzando la libreria NumPy. Inoltre, abbiamo utilizzato la libreria matplotlib per la visualizzazione delle immagini dopo l'elaborazione. Osservando i punti precedenti, possiamo dire che possiamo eseguire anche altri compiti semplicemente usando qualche altra logica.

  • Guida Completa all'Implementazione Etica dell'IA

    Immagina un mondo in cui l'intelligenza artificiale permea ogni aspetto della nostra vita, dalle decisioni aziendali alle interazioni sociali. In questa guida pratica, esploreremo le sfide etiche poste dall'intelligenza artificiale e forniremo Nel contesto dell'intelligenza artificiale, l'etica assume un ruolo cruciale poiché queste tecnologie Impatto dell'IA sulla società e sulla vita quotidiana: L'intelligenza artificiale sta rivoluzionando

  • Differenze tra Reti Neurali CNN Vs ANN Vs RNN

    Assomiglia al ragionamento umano e ha ispirato i ricercatori di intelligenza artificiale a sviluppare Tipi di reti neurali: Rete neurale artificiale (ANN): È un tipo di rete neurale progettata come rete gli esseri umani erano soliti svolgere in precedenza, ora sono semplificati con strumenti abilitati all'intelligenza rapidamente diventando indispensabili per la loro versatilità nel fornire soluzioni a diversi problemi aziendali Regressione Logistica per l'apprendimento automatico Scikit Learn e Python Tutorial Per Creare Modelli di Intelligenza

  • Editor Gratuito PHP, HTML, CSS, JavaScript INTELLIGENTE- Codelobster IDE

    La vita di uno sviluppatore web è piena di scelte e decisioni. La maggior parte di queste scelte vengono fatte mentre si lavora su un progetto; in tal caso, ha bisogno di uno strumento che lo aiuti a lavorare in modo più rapido ed efficiente. In questo articolo, ti suggeriamo di conoscere l'editor gratuito di linguaggi web - Codelobster IDE. È presentato sul mercato del software già da molto tempo e conquista molti fan. Codelobster IDE consente di modificare file PHP, HTML, CSS e JavaScript, evidenzia la sintassi e fornisce suggerimenti per tag, funzioni e relativi parametri. Questo editor gestisce facilmente quei file che contengono un contenuto misto. Se inserisci il codice PHP nel tuo modello HTML, l'editor evidenzia correttamente sia i tag HTML che le funzioni PHP. Lo stesso vale per il codice CSS e JavaScript, che è contenuto nei file HTML. Il programma include la funzione di completamento automatico, che velocizza notevolmente il lavoro del programmatore ed elimina la possibilità di errori. Codelobster IDE fornisce un aiuto contestuale su tutti i linguaggi di programmazione supportati, utilizza la documentazione più aggiornata in questo momento, scaricandola dai siti ufficiali. Quindi possiamo ottenere rapidamente una descrizione di qualsiasi tag HTML, attributo CSS, funzione PHP o JavaScript premendo il tasto F1. Il debugger PHP integrato ti consente di eseguire gli script PHP passo dopo passo, spostandoti in sequenza attraverso le righe di codice. È possibile assegnare punti di controllo, visualizzare il processo di lavoro dei loop e monitorare i valori di tutte le variabili durante l'esecuzione dello script. Puoi visualizzare i modelli HTML direttamente nell'editor, evidenziare gli elementi interessanti sulla pagina ed esplorare gli stili CSS associati. L'ispettore HTML e CSS funziona secondo il principio di tutti i FireBug conosciuti. Altre utili funzioni e caratteristiche dell'IDE: ∙Una coppia di evidenziazione di parentesi e tag: non dovrai mai contare parentesi o virgolette, se ne occuperà l'editore. ∙Evidenziazione di blocchi, selezione e compressione di frammenti di codice, segnalibri per facilitare navigazione sul file editato, riconoscimento e costruzione della struttura completa di PHP progetti: queste funzioni garantiscono un lavoro facile con progetti di qualsiasi scala. ∙Supporto per 17 lingue dell'interfaccia utente, tra cui inglese, tedesco, russo, spagnolo, francese e altri. ∙Il programma funziona sui seguenti sistemi operativi: Windows 7, Windows 8, Windows 10, Mac OS, Linux, Ubuntu, Fedora, Debian. La versione professionale di Codelobster IDE offre al programmatore ancora più funzionalità. Ad esempio, hai l'opportunità di lavorare con progetti su un server remoto con l'uso del client FTP integrato. È possibile modificare i file selezionati, visualizzare in anteprima i risultati e quindi sincronizzare le modifiche con i file sull'hosting. Inoltre, la versione professionale include un'ampia serie di plug-in: ∙Supporto completamente implementato per le librerie JavaScript, come jQuery, Node.js, AngularJS, BackboneJS e MeteorJS. ∙Un ampio set di estensioni che aiutano a lavorare con i framework PHP: CakePHP, CodeIgniter, Plug-in Laravel, Phalcon, Smarty, Symfony, Twig e Yii. ∙Plugin per lavorare con i CMS più popolari: Drupal, Joomla, Magento e WordPress. Possiamo scaricare e installare qualsiasi framework direttamente dal programma senza essere distratti dalle attività principali. In generale, per un anno di lavoro, il nostro team non ha avuto lamentele contro l'editore. Codelobster IDE funziona velocemente, non si blocca e ci consente di lavorare anche con grandi progetti PHP. Puoi scaricare Codelobster IDE dal sito Web ufficiale Codelobster helps you work faster and more efficiently by providing you with all the necessary tools for developing websites project.

  • Chatbot Multimodali : ChatGPT di OpenAI ora può vedere, ascoltare e parlare con gli utenti

    L'intelligenza artificiale (AI) ha fatto passi da gigante negli ultimi anni, e i chatbot sono uno dei più popolari applicazioni di intelligenza artificiale. Quindi, se sei interessato agli ultimi sviluppi dell'intelligenza artificiale e al modo in cui può influire Questi assistenti virtuali basati sull'intelligenza artificiale hanno fatto molta strada sin dalla loro Tradizionalmente, i modelli di intelligenza artificiale come GPT3 si concentrano principalmente sull’

  • Come creare un API per un modello di machine learning in 5 minuti

    Per avere un impatto intendo di riuscire a farli arrivare a più persone o aziende possibile. Fondamentalmente ciò che accade è la maggior parte dei fornitori di cloud e le aziende più piccole focalizzate Soddisfano le esigenze di sviluppatori/aziende che non hanno esperienza in ML, che desiderano implementare

  • Cosa è la classificazione del testo

    classificazione del testo è un processo di apprendimento automatico, il che significa che è una forma di intelligenza artificiale. I dati sono più importanti che mai; le aziende stanno spendendo fortune cercando di estrarre quante più Ad esempio, la tokenizzazione del lavoro in modo più intelligente può essere eseguita in questo modo: Conclusione sulla Classificazione del testo Non è un segreto che le aziende stiano spendendo milioni

  • LangChain: Introduzione ed esempi con python

    calcolatori e integrarli in un ciclo logico di operazioni, consentendo agli agenti di agire in modo intelligente Come potete vedere siamo riusciti usando questo template : """ Tu sei un chatbot super intelligente che Ad esempio: from langchain import PromptTemplate template = """ Tu sei un chatbot super intelligente Quando utilizziamo questo modello di prompt con la domanda, otterremo: Tu sei un chatbot super intelligente

  • Cos'è la previsione delle serie temporali o Time Series Forecasting?

    La previsione delle serie temporali è un'area importante dell'apprendimento automatico che viene spesso trascurata. È importante perché ci sono così tanti problemi di previsione che coinvolgono una componente temporale. Questi problemi vengono trascurati perché è questa componente temporale che rende i problemi delle serie temporali più difficili da gestire. In questo post scoprirai la previsione delle serie temporali. Dopo aver letto questo post, saprai: Definizioni standard di serie temporali, analisi di serie temporali e previsioni di serie temporali. Le componenti importanti da considerare nei dati delle serie temporali. Esempi di serie temporali per rendere concreta la tua comprensione. Cosa sono le Serie temporali? Un normale set di dati di apprendimento automatico è una raccolta di osservazioni. Per esempio: osservazione #1 osservazione #2 osservazione #3 Il tempo gioca un ruolo nei normali set di dati di apprendimento automatico. Vengono fatte previsioni per nuovi dati quando l'esito effettivo potrebbe non essere noto fino a una data futura. Il futuro viene previsto, ma tutte le osservazioni precedenti vengono quasi sempre trattate allo stesso modo. Un set di dati di serie temporali è diverso. Le serie temporali aggiungono un'esplicita dipendenza dall'ordine tra le osservazioni: una dimensione temporale. Questa dimensione aggiuntiva è sia un vincolo che una struttura che fornisce una fonte di informazioni aggiuntive. Una serie temporale è una sequenza di osservazioni prese in sequenza nel tempo. Per esempio: Tempo #1, osservazione Tempo #2, osservazione Tempo #3, osservazione Descrivere vs. prevedere Abbiamo obiettivi diversi a seconda che siamo interessati a comprendere un set di dati o fare previsioni. La comprensione di un set di dati, chiamato analisi delle serie temporali , può aiutare a fare previsioni migliori, ma non è necessario e può comportare un grande investimento tecnico in tempo e competenze non direttamente allineati con il risultato desiderato, ovvero prevedere il futuro. Nella modellazione descrittiva, o analisi delle serie temporali, una serie storica viene modellata per determinarne le componenti in termini di modelli stagionali, tendenze, relazioni con fattori esterni e simili. … Al contrario, la previsione delle serie temporali utilizza le informazioni in una serie temporale (magari con informazioni aggiuntive) per prevedere i valori futuri di quella serie Analisi delle serie temporali Quando si utilizza la statistica classica, la preoccupazione principale è l'analisi delle serie temporali. L'analisi delle serie temporali implica lo sviluppo di modelli che catturino o descrivano al meglio una serie temporale osservata al fine di comprendere le cause sottostanti. Questo campo di studio cerca il " perché " dietro un set di dati di serie temporali. Ciò comporta spesso l'elaborazione di ipotesi sulla forma dei dati e la scomposizione delle serie temporali in componenti costitutive. La qualità di un modello descrittivo è determinata da quanto bene descrive tutti i dati disponibili e dall'interpretazione che fornisce per informare meglio il dominio del problema. L'obiettivo principale dell'analisi delle serie temporali è sviluppare modelli matematici che forniscano descrizioni plausibili da dati campione Previsione di serie temporali Fare previsioni sul futuro è chiamato estrapolazione nella classica gestione statistica dei dati delle serie temporali. I campi più moderni si concentrano sull'argomento e si riferiscono ad esso come previsione di serie temporali. La previsione implica l'adattamento dei modelli ai dati storici e il loro utilizzo per prevedere le osservazioni future. I modelli descrittivi possono prendere in prestito per il futuro (ad esempio per attenuare o rimuovere il rumore), cercano solo di descrivere al meglio i dati. Una distinzione importante nella previsione è che il futuro è completamente indisponibile e deve essere stimato solo da ciò che è già accaduto. Lo scopo dell'analisi delle serie temporali è generalmente duplice: comprendere o modellare i meccanismi stocastici che danno origine a una serie osservata e prevedere o prevedere i valori futuri di una serie sulla base della storia di quella serie L'abilità di un modello di previsione delle serie temporali è determinata dalle sue prestazioni nel prevedere il futuro. Questo spesso va a scapito della possibilità di spiegare perché è stata fatta una previsione specifica, gli intervalli di confidenza e una comprensione ancora migliore delle cause alla base del problema. Componenti principali delle serie temporali L'analisi delle serie temporali fornisce un insieme di tecniche per comprendere meglio un set di dati. Forse il più utile di questi è la scomposizione di una serie temporale in 4 parti : Livello . Il valore della linea di base per la serie se fosse una linea retta. Tendenza . Il comportamento opzionale e spesso lineare in aumento o diminuzione delle serie nel tempo. Stagionalità . I modelli o cicli di comportamento ripetuti facoltativi nel tempo. Rumore . La variabilità opzionale nelle osservazioni che non può essere spiegata dal modello. Tutte le serie temporali hanno un livello, la maggior parte ha un rumore e l'andamento e la stagionalità sono facoltativi. Le caratteristiche principali di molte serie temporali sono le tendenze e le variazioni stagionali... un'altra caratteristica importante della maggior parte delle serie temporali è che le osservazioni ravvicinate nel tempo tendono ad essere correlate (dipendenti in serie) Si può pensare che questi componenti costitutivi si combinino in qualche modo per fornire le serie temporali osservate. Ad esempio, possono essere sommati per formare un modello come segue: y = livello + trend + stagionalità + rumore È possibile fare ipotesi su queste componenti sia nel comportamento che nel modo in cui sono combinate, il che consente di modellarle utilizzando metodi statistici tradizionali. Questi componenti possono anche essere il modo più efficace per fare previsioni sui valori futuri, ma non sempre. Nei casi in cui questi metodi classici non si traducono in prestazioni efficaci, questi componenti possono comunque essere concetti utili e persino input per metodi alternativi. Previsione nelle Serie Temporali di cosa preoccuparsi? Quando si effettuano previsioni, è importante capire il proprio obiettivo. Usa il metodo Socratico e fai molte domande per aiutarti a ingrandire le specifiche del tuo problema di modellazione predittiva . Per esempio: Quanti dati hai a disposizione e riesci a raccoglierli tutti insieme? Più dati sono spesso più utili, offrendo maggiori opportunità per l'analisi esplorativa dei dati, il test e l'ottimizzazione del modello e la fedeltà del modello. Qual è l'orizzonte temporale delle previsioni richiesto? A breve, medio o lungo termine? Orizzonti temporali più brevi sono spesso più facili da prevedere con maggiore sicurezza. Le previsioni possono essere aggiornate frequentemente nel tempo o devono essere fatte una volta e rimanere statiche? L'aggiornamento delle previsioni man mano che nuove informazioni diventano disponibili si traduce in previsioni più accurate. Con quale frequenza temporale sono richieste le previsioni? Spesso le previsioni possono essere fatte a frequenze più basse o più alte, consentendo di sfruttare il downsampling e l'upsampling dei dati, che a loro volta possono offrire vantaggi durante la modellazione. I dati delle serie temporali spesso richiedono pulizia, ridimensionamento e persino trasformazione. Per esempio: Frequenza . Forse i dati sono forniti a una frequenza troppo alta per essere modellati o sono distanziati in modo non uniforme nel tempo che richiede il ricampionamento per l'uso in alcuni modelli. Valori anomali . Forse ci sono valori anomali corrotti o estremi che devono essere identificati e gestiti. Mancante . Forse ci sono lacune o dati mancanti che devono essere interpolati o imputati. Spesso i problemi delle serie temporali sono in tempo reale e forniscono continuamente nuove opportunità di previsione. Ciò aggiunge un'onestà alla previsione delle serie temporali che elimina rapidamente le ipotesi sbagliate, gli errori nella modellazione e tutti gli altri modi in cui potremmo essere in grado di ingannare noi stessi. Esempi di previsione di serie temporali C'è un'offerta quasi infinita di problemi di previsione delle serie temporali. Di seguito sono riportati 10 esempi da una serie di settori per rendere più concrete le nozioni di analisi e previsione delle serie temporali. Prevedere se un tracciato EEG in secondi indica che un paziente sta avendo una crisi o meno. Previsione del prezzo di chiusura di un'azione ogni giorno. Previsione del tasso di natalità in tutti gli ospedali di una città ogni anno. Previsione delle vendite di prodotti in unità vendute ogni giorno per un negozio. Previsione del numero di passeggeri attraverso una stazione ferroviaria ogni giorno. Previsione della disoccupazione per uno stato ogni trimestre. Previsione della domanda di utilizzo su un server ogni ora. Previsione della dimensione della popolazione di conigli in uno stato ogni stagione riproduttiva. Previsione del prezzo medio della benzina in una città ogni giorno. Mi aspetto che sarai in grado di mettere in relazione uno o più di questi esempi con i tuoi problemi di previsione delle serie temporali che vorresti affrontare. Conclusione In questo post, hai scoperto la previsione delle serie temporali. Nello specifico hai imparato: Informazioni sui dati delle serie temporali e sulla differenza tra l'analisi delle serie temporali e la previsione delle serie temporali. I componenti costitutivi in ​​cui una serie storica può essere scomposta durante l'esecuzione di un'analisi. Esempi di problemi di previsione di serie temporali per rendere concrete queste idee. Hai domande sulla previsione delle serie temporali o su questo post? Fai le tue domande nei commenti qui sotto.

  • PyTorch vs TensorFlow quale è meglio per creare modelli di deep learning

    In questo articolo ti guideremo e confronteremo l'usabilità del codice e la facilità d'uso di TensorFlow e PyTorch sul set di dati MNIST più utilizzato per classificare le cifre scritte a mano. Due delle librerie di deep learning basate su Python più popolari sono PyTorch e TensorFlow. Potrebbe essere difficile per un professionista del machine learning alle prime armi decidere quale utilizzare quando si lavora con un modello di deep learning. Potresti essere completamente inconsapevole delle distinzioni, rendendo impossibile per te prendere una decisione informata. Esamineremo alcune di queste differenze nella pratica in questo articolo creando un classificatore utilizzando entrambi i framework per la stessa risoluzione dei problemi. Infine, concluderemo come i modelli simili definiti per affrontare lo stesso problema ma che utilizzano infrastrutture diverse differiscono nei risultati. I punti principali da trattare in questo articolo sono elencati di seguito. Indice Articolo Informazioni sui dati delle cifre MNIST Breve introduzione su TensorFlow Breve introduzione su PyTorch Creazione di un modello di deep learning per la classificazione delle immagini Costruzione di modelli con TensorFlow Costruzione di modelli con PyTorch Confrontiamo le prestazioni Discutiamo prima il set di dati MNIST. Informazioni sui dati delle cifre MNIST Il set di dati Modified National Institute of Standards and Technology è l'acronimo di set di dati MNIST . È una raccolta di 60.000 piccole immagini quadrate in scala di grigi di singole cifre scritte a mano che vanno da 0 a 9. L'obiettivo è ordinare un'immagine di una cifra scritta a mano in una delle dieci classi che rappresentano valori interi che vanno da 0 a 9, inclusi. È un set di dati ampiamente utilizzato e ben compreso che è stato risolto per la maggior parte. Le reti neurali convoluzionali di deep learning sono i modelli con le prestazioni migliori, con un'accuratezza di classificazione di oltre il 99% e un tasso di errore compreso tra lo 0,4% e lo 0,2% sul set di dati del test di tenuta. Gli esempi riportati di seguito provengono dal set di dati di addestramento delle cifre MNIST caricate dall'API del set di dati Tensorflow. Breve introduzione su TensorFlow Google ha sviluppato TensorFlow, che è stato reso open source nel 2015. Si è evoluto dal software di apprendimento automatico interno di Google, che è stato rifattorizzato e ottimizzato per l'uso in produzione. Il termine "TensorFlow" si riferisce al modo in cui i dati sono organizzati ed elaborati. Un tensore è la struttura dati più basilare sia in TensorFlow che in PyTorch. Quando usi TensorFlow, crei un grafico del flusso di dati con stato, simile a un diagramma di flusso che ricorda gli eventi passati, per eseguire operazioni sui dati in questi tensori. TensorFlow è noto per essere una libreria di deep learning ad alte prestazioni. Ha una base di utenti ampia e attiva, oltre a una pletora di modelli, strumenti e piattaforme di formazione, distribuzione e servizio ufficiali e di terze parti. Breve introduzione su PyTorch PyTorch è uno dei framework di deep learning più recenti, sviluppato dal team di Facebook e rilasciato su GitHub nel 2017. PyTorch sta guadagnando popolarità grazie alla sua facilità d'uso, semplicità, grafico computazionale dinamico e utilizzo efficiente della memoria. È imperativo, il che significa che viene eseguito immediatamente e l'utente può testarlo per vedere se funziona prima di scrivere l'intero codice. Possiamo scrivere una sezione di codice ed eseguirla in tempo reale perché ha un'implementazione Python integrata per fornire compatibilità come piattaforma di deep learning. Ha rapidamente guadagnato popolarità grazie alla sua interfaccia intuitiva, spingendo il team di Tensorflow a incorporare le sue funzionalità più popolari in Tensorflow 2.0. Creazione di un modello di deep learning per la classificazione delle immagini In questa sezione, confronteremo l'usabilità del codice e la facilità d'uso di TensorFlow e PyTorch sul set di dati MNIST più utilizzato per classificare le cifre scritte a mano. Utilizzando entrambi i framework verificheremo le procedure minime da eseguire per avere un modello di classificazione adeguato. In entrambi i passaggi del modello da eseguire sono il caricamento dei dati, la preelaborazione, la creazione del modello, l'addestramento e la visualizzazione del risultato. Per entrambi i modelli, ho cercato di mantenere i livelli e le configurazioni di iperparametri uguali tra loro. Quindi ora iniziamo prima con Tensorflow. Creare modelli di deep learning con TensorFlow Costruiamo un modello di rete neurale convoluzionale per la classificazione delle immagini in TensorFlow. import tensorflow from tensorflow.keras.datasets import mnist from tensorflow.keras.utils import to_categorical from tensorflow.keras.layers import Conv2D, Flatten, Dense, MaxPooling2D from tensorflow.keras.models import Sequential import matplotlib.pyplot as plt Carica e preelabora i dati. Qui la preelaborazione non è altro che rimodellare le immagini da 28 x 28 a 28 x 28 x 1 i, abbiamo aggiunto il canale del colore e 1 indica il canale del grigio. Successivamente, abbiamo creato una rappresentazione binaria di ciascuna classe e, infine, abbiamo ridimensionato tutti i valori dei pixel. # Rimodelliamo e codifichiamo con onehot x_train = x_train.reshape(x_train.shape[0], 28, 28, 1) x_test = x_test.reshape(x_test.shape[0], 28, 28, 1) y_train = to_categorical(y_train) y_test = to_categorical(y_test) # scaling x_train = x_train.astype('float32') x_test = x_test.astype('float32') x_train = x_train / 255.0 x_test = x_test / 255.0 Successivamente, costruiremo un modello. Questo modello sarà composto da 2 strati convoluzionali seguiti da uno strato di pooling e un classificatore Dense. La discesa del gradiente stocastico viene utilizzata come funzione di ottimizzazione con un tasso di apprendimento di 0,01 e l'entropia incrociata categoriale come funzione di perdita, il modello viene addestrato per 5 epoche. E questo viene mantenuto anche nel modello Pytorch. model = Sequential() model.add(Conv2D(32, (3,3), input_shape = (28,28,1), activation='relu')) model.add(Conv2D(64,(3,3), activation='relu')) model.add(MaxPooling2D((2,2))) model.add(Flatten()) model.add(Dense(1024, activation='relu')) model.add(Dense(10, activation='softmax')) # Compiliamo model.compile(optimizer='sgd', loss='categorical_crossentropy', metrics=['accuracy']) # Alleniamo history = model.fit(x_train, y_train, validation_split=0.3, epochs=5) Fino a questo, questo è tutto il lavoro minimo richiesto per costruire un classificatore di immagini usando TensorFlow. Creare modelli di deep learning con Pytorch Costruiamo un modello di rete neurale convoluzionale per la classificazione delle immagini in PyTorch. #importiamo le librerie import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torchvision import datasets, transforms # preprocessiamo transform = transforms.Compose([ transforms.Resize((8, 8)), transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,))]) # carichiamo i dati train_dataset = datasets.MNIST( 'data', train=True, download=True, transform=transform) test_dataset = datasets.MNIST( 'data', train=False, download=True, transform=transform) train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=512) test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=512) # Costruisci un modello class CNNModel(nn.Module): def __init__(self): super(CNNModel, self).__init__() self.conv1 = nn.Conv2d(1, 32, 3, 1) self.conv2 = nn.Conv2d(32, 64, 3, 1) self.fc = nn.Linear(1024, 10) def forward(self, x): x = F.relu(self.conv1(x)) x = F.relu(self.conv2(x)) x = F.max_pool2d(x, 1) x = torch.flatten(x, 1) x = self.fc(x) output = F.log_softmax(x, dim=1) return output net = CNNModel() # Compiliamo optimizer = optim.SGD(net.parameters(), lr=0.01) criterion = nn.CrossEntropyLoss() Dopodiché, durante la fase di addestramento, dobbiamo creare un ciclo che ripercorre le nostre epoche e lotti. Elaboreremo le nostre immagini di conseguenza e utilizzeremo il passaggio in avanti per calcolare la nostra perdita. Confrontiamo le prestazioni Dai due grafici precedenti, la curva del modello TensorFlow sembra ripida e dopo la 3a epoca, la perdita sul set di convalida sembra aumentare. In breve, possiamo dire che la procedura di apprendimento nel modello TensorFlow è di natura ripida e possiamo aspettarci molti compromessi. Mentre nel modello PyTorch, anche la procedura di costruzione del modello sembra complessa, l'addestramento e la perdita osservati sono stati fluidi durante la procedura e la perdita di convalida ha seguito correttamente la perdita del test. Conclusioni A questo punto, abbiamo discusso brevemente TensorFlow e PyTorch e visto la procedura di modellazione minima per la classificazione delle immagini. Nel contesto dell'allenamento e delle prestazioni dei test dai due rispettivi grafici, possiamo dire che il processo di addestramento e valutazione è più fluido nel modello PyTorch e, in termini di elementi costitutivi, direi che TensorFlow è più adatto ai principianti grazie alla sua API semplificata .

  • La Tua STARTUP deve assumere un DATA SCIENTIST ?

    Ma se tutte le tue soluzioni coinvolgono servizi di intelligenza artificiale, hai bisogno di un data non forniscano esplicitamente soluzioni di intelligenza artificiale. Non saltare nell'implementazione di soluzioni di intelligenza artificiale sfumate a questo punto. aziendali strategiche. Detto questo, avrai comunque bisogno di una buona comprensione di quali servizi di intelligenza artificiale

bottom of page