top of page

Risultati Ricerca Intelligenza Artificiale Italia

453 risultati trovati per "intelligenza-artificlae"

  • Apprendimento per rinforzo ( Reinforcement learning )

    supervisionato e non supervisionato dipendono dai dati esistenti raccolti dagli esseri umani e sono limitati all'intelligenza L'apprendimento per rinforzo è più vicino all'intelligenza artificiale generale (AGI), poiché possiede Ma in futuro tutto questo cambierà, combineremo l'apprendimento per rinforzo con visione artificiale,

  • Scegliere il miglior Algoritmo di Machine Learning per i tuoi dati

    Potremmo buttare fuori alcuni nomi come molti "DataScientist GURU", ma la risposta più intelligente è Regressione Logistica per l'apprendimento automatico Scikit Learn e Python Tutorial Per Creare Modelli di Intelligenza Artificiale Tutorial Pratico Tensorflow , TensorBoard e Python Feature Engineering e Feature Selection

  • Prevedere il prezzo d'affitto di una casa con il Deep Learning e Python

    Il deep learning è una branca dell'intelligenza artificiale che studia l'uso dei computer per imitare il comportamento umano intelligente. Un'applicazione comune dell'intelligenza artificiale è l'uso dell'apprendimento automatico per prevedere

  • Falsi miti sul machine learning

    Non esiste un modo giusto per entrare nell'apprendimento automatico. Impariamo tutti in modi leggermente diversi e abbiamo obiettivi diversi di ciò che vogliamo fare con o per l'apprendimento automatico. Un obiettivo comune è diventare rapidamente produttivi con l'apprendimento automatico. Se questo è il tuo obiettivo, questo post mette in evidenza cinque errori comuni che i programmatori commettono sulla strada per diventare rapidamente professionisti produttivi di machine learning. 1. Il machine learning è cosi potente da sembrare Magia L'apprendimento automatico è solo un altro insieme di tecniche che puoi utilizzare per creare soluzioni a problemi complessi. Poiché è un campo in piena espansione, l'apprendimento automatico viene generalmente comunicato in pubblicazioni accademiche e libri di testo per studenti post-laurea. Questo gli dà l'aspetto che è elitario e impenetrabile. È necessario un cambiamento di mentalità per essere efficaci nell'apprendimento automatico, dalla tecnologia al processo, dalla precisione all'"abbastanza buono", ma lo stesso si potrebbe dire per altri metodi complessi che i programmatori sono interessati ad adottare. 2. Non iniziare scrivendo codice Iniziare con l'apprendimento automatico scrivendo il codice può rendere le cose difficili perché significa che stai risolvendo almeno due problemi anziché uno: come funziona una tecnica in modo da poterla implementare e come applicare la tecnica a un determinato problema. È molto più semplice lavorare su un problema alla volta e sfruttare l'apprendimento automatico, gli ambienti statistici e le librerie di algoritmi per imparare ad applicare una tecnica a un problema. Ciò consente di controllare e mettere a punto una varietà di algoritmi in tempi relativamente brevi e di mettere a punto uno o due che sembrano promettenti piuttosto che investire grandi quantità di tempo nell'interpretazione di documenti di ricerca ambigui contenenti descrizioni di algoritmi. L'implementazione di un algoritmo può essere trattata come un progetto separato da completare in un secondo momento, ad esempio per un esercizio di apprendimento o se il sistema prototipo deve essere messo in funzione. Impara una cosa alla volta, ti consiglio di iniziare con un framework di apprendimento automatico basato su GUI, che tu sia un programmatore o meno. 3. Fare le cose manualmente Un processo circonda l'apprendimento automatico applicato, inclusa la definizione dei problemi, la preparazione dei dati e la presentazione dei risultati, tra le altre attività. Questi processi, insieme al test e alla messa a punto degli algoritmi, possono e devono essere automatizzati. L'automazione è una parte importante dello sviluppo di software moderno per build, test e distribuzione. C'è un grande vantaggio nella preparazione dei dati di script, nel test e nell'ottimizzazione degli algoritmi e nella preparazione dei risultati al fine di ottenere i vantaggi del rigore e della velocità di miglioramento. Ricorda e riutilizza le lezioni apprese nello sviluppo di software professionale. L'impossibilità di iniziare con l'automazione (come Makefiles o un sistema di build simile) è probabilmente dovuto al fatto che molti programmatori arrivano all'apprendimento automatico da libri e corsi che si concentrano meno sulla natura applicata del campo. In effetti, portare l'automazione nell'apprendimento automatico applicato è un'enorme opportunità per i programmatori . 4. Reinventare soluzioni a problemi comuni Centinaia e migliaia di persone hanno probabilmente implementato l'algoritmo che stai implementando prima di te o hanno risolto un tipo di problema simile al problema che stai risolvendo, sfruttando le loro lezioni apprese. Esiste una vasta gamma di conoscenze sulla risoluzione dell'apprendimento automatico applicato. Certo, gran parte di esso potrebbe essere legato a libri e pubblicazioni di ricerca, ma puoi accedervi. Fai i compiti e cerca su Google, Google Libri, Google Scholar e contatta la community di machine learning. Se stai implementando un algoritmo: Devi implementarlo? È possibile riutilizzare un'implementazione di un algoritmo open source esistente in una libreria o in uno strumento? Devi implementare da zero? Puoi rivedere il codice, imparare da o trasferire un'implementazione open source esistente? Devi interpretare la descrizione canonica dell'algoritmo? Ci sono descrizioni di algoritmi in altri libri, articoli, tesi o post di blog che puoi rivedere e da cui puoi imparare? Se stai affrontando un problema: Devi testare tutti gli algoritmi sul problema? Puoi sfruttare studi su questo o simili casi di problema dello stesso tipo generale che suggeriscono algoritmi e classi di algoritmi che funzionano bene? Devi raccogliere i tuoi dati? I loro set di dati o API pubblicamente disponibili che puoi utilizzare direttamente o come proxy per il tuo problema per apprendere rapidamente quali metodi potrebbero funzionare bene? Devi ottimizzare i parametri dell'algoritmo? Sono le euristiche che puoi utilizzare per configurare l'algoritmo presentato in articoli o studi sull'algoritmo? Quale sarebbe la tua strategia in caso di problemi con una libreria di programmazione o un tipo specifico di struttura dati? Usa le stesse tattiche nel campo dell'apprendimento automatico. Contatta la comunità e chiedi risorse che potresti essere in grado di sfruttare per accelerare l'apprendimento e il progresso del tuo progetto. Prendi in considerazione forum e siti di domande e risposte per iniziare e contatta accademici e specialisti come passaggio successivo. 5. Non serve davvero la matematica Non è necessaria la teoria matematica per iniziare, ma la matematica è una parte importante dell'apprendimento automatico. La ragione di ciò è che fornisce forse il modo più efficiente e inequivocabile per descrivere i problemi ei comportamenti dei sistemi. Ignorare i trattamenti matematici degli algoritmi può portare a problemi come avere una comprensione limitata di un metodo o adottare un'interpretazione limitata di un algoritmo. Ad esempio, molti algoritmi di apprendimento automatico hanno un'ottimizzazione al centro che viene aggiornata in modo incrementale. Conoscere la natura dell'ottimizzazione da risolvere (è la funzione convessa) consente di utilizzare algoritmi di ottimizzazione efficienti che sfruttano questa conoscenza. Interiorizzare il trattamento matematico degli algoritmi è lento e viene fornito con padronanza. Soprattutto se stai implementando algoritmi avanzati da zero, inclusi gli algoritmi di ottimizzazione interni, prenditi il ​​tempo necessario per imparare l'algoritmo dal punto di vista matematico. Riepilogo In questo post hai appreso di 5 errori comuni che i programmatori commettono quando iniziano l'apprendimento automatico. Le cinque lezioni sono: Non mettere l'apprendimento automatico su un piedistallo Non scrivere codice di apprendimento automatico per iniziare Non fare le cose manualmente Non reinventare soluzioni a problemi comuni Non ignorare la matematica Condividi l'articolo per supportarci, oppure se pensi di conoscere un altro mito scrivilo nei commenti.

  • Come diventare un Data Scientist freelance nel 2023

    Il panorama del lavoro oggi è cambiato radicalmente a causa della pandemia di Covid-19. Oltre al loro lavoro a tempo pieno, le persone ora hanno la flessibilità di affrontare le faccende secondarie che fungono da ulteriore fonte di reddito. Quando siamo passati al campo della scienza dei dati, il nostro obiettivo iniziale era trovare lavoro nel settore. Una volta ottenuto un lavoro diurno, tuttavia, ci siamo resi conto di avere la capacità di fare di più. (Molto di più ) Lavorare da casa significava che non dovevamo socializzare così spesso. Non dovevamo più viaggiare avanti e indietro per lavorare. Questo non ha solo fatto risparmiare tempo. Abbiamo risparmiato energia. Non eravamo più esausti alla fine di una giornata lavorativa, il che significava che potevo assumere compiti al di fuori del nostro lavoro. In questo articolo, ti guiderò attraverso la mia esperienza di freelance per la scienza dei dati. Ti fornirò anche suggerimenti su come iniziare come freelance di data science. Innanzitutto, esaminiamo i pro e i contro del libero professionista per la scienza dei dati. Vantaggi del libero professionista per la scienza dei dati. La parte migliore dell'avere una carriera da freelance è che puoi lavorare con persone provenienti da tutto il mondo. Le opportunità sono infinite e impari a guardare un problema da molte prospettive diverse. Puoi anche scegliere i tipi di progetti su cui lavorare, cosa che non è sempre possibile quando hai un lavoro a tempo pieno. Inoltre, come dipendente a tempo pieno, puoi lavorare solo in un singolo settore. Quando sei un freelance, ogni progetto su cui lavori ti fornirà un'esperienza di dominio in una nuova area. Quando lavori su una varietà di attività in molti domini diversi, il tuo portafoglio cresce. Non sei bloccato con un unico modo di fare le cose e puoi adattarti rapidamente a nuovi flussi di lavoro. La tua capacità di imparare migliorerà. Svantaggi del libero professionista per la scienza dei dati. Ci sono alcuni aspetti negativi nel diventare un libero professionista di data science. In primo luogo, è disponibile un numero limitato di lavori di data science freelance, soprattutto qui in italia. ( La mia esperienza da freelance per la maggior parte è stata svolta all'estero ) Di solito sono le aziende di medie e grandi dimensioni che assumono data scientist e queste aziende tendono ad assumere dipendenti a tempo pieno piuttosto che freelance. C'è una maggiore richiesta di sviluppatori web/designer freelance rispetto ai data scientist, ma tranquilli arriverà il nostro momento. Inoltre, una carriera da freelance non garantisce la sicurezza del lavoro e devi essere attivamente alla ricerca di nuovi compiti. Per questo motivo, è una buona idea mantenere il tuo lavoro a tempo pieno mentre assumi ruoli da freelance, soprattutto all'inizio. Cosa fa un Data scientist freelance ? In qualità di data scientist freelance, puoi creare modelli di apprendimento automatico per le organizzazioni su base una tantum. A volte, potresti persino essere pagato per mantenere e aggiornare continuamente questo modello man mano che arrivano nuovi dati. Tuttavia, le tue opzioni non si limitano alla costruzione di modelli. Poiché il mio lavoro a tempo pieno è nel campo del marketing, ho una certa esperienza in questo settore. Lo uso, insieme alle mie competenze sui dati, per aiutare i clienti a identificare il loro pubblico di destinazione e elaborare strategie di marketing. Un'altra abilità molto richiesta è la raccolta dei dati. Ho lavorato con individui e aziende per raccogliere dati esterni per aiutare con le loro attività di ricerca o costruzione di modelli. Ho lavorato come scrittore tecnico freelance per un po' di tempo. Scrivo tutorial sulla scienza dei dati e suggerimenti per le pubblicazioni, sia una tantum. Mi è stato anche chiesto di condurre seminari di formazione sulla scienza dei dati e corsi online per principianti del settore. Ci sono molte altre attività che puoi svolgere a seconda delle tue abilità. Puoi aiutare le organizzazioni a distribuire e monitorare i propri modelli di machine learning. Puoi consultare le aziende e fornire loro consigli in base ai dati che analizzi. Se sei un esperto di visualizzazioni di dati, puoi creare dashboard interattivi per i clienti in base ai dati disponibili. Come trovare un lavoro da data scientist freelance Quando le persone pensano per la prima volta di diventare freelance e lo cercano su internet i primi risultati che gli usciranno saranno dei consigli che nella maggior parte delle volte di conclude con il fatto che potrai ottenere successo con Friverr o UpWork. Tuttavia, la semplice registrazione su questi siti e l'invio di proposte di lavoro non è sufficiente per farti ottenere molti lavori. Queste piattaforme sono altamente sature. Per farti notare su di loro, devi costruire il tuo portafoglio ottenendo prima alcuni lavori. Suggerisco di creare prima un portafoglio al di fuori di queste piattaforme. La maggior parte dei datori di lavoro mi ha contattato al di fuori della piattaforma, tramite LinkedIn o via e-mail. Scrivete su quanti più siti, blog possibili di argomenti di vostra porta, spiegando come potreste aiutare possibili lettori. ( Potresti iniziare a scrivere un articolo per IntelligenzaArtificialeItalia.net per farti notare e sfruttare la loro visibilità ) Un cliente ha visto il mio tutorial sullo scraping di Twitter pubblicato su youtube mi ha assunto per costruire un web-scraper per lui. Un'altra azienda mi ha assunto a causa di un'analisi che ho pubblicato su linkedin, poiché volevano qualcosa di simile per identificare il loro pubblico di destinazione. Ho anche ottenuto alcuni lavori grazie alla mia rete. Amici universitari e colleghi di lavoro mi hanno consigliato per lavori in passato. Le persone preferiscono assumere quando c'è fiducia. È più probabile che tu ottenga un lavoro da qualcuno che è stato assicurato dal suo pari delle tue capacità, rispetto a una persona a cui hai appena inviato una proposta su Upwork. Se diventi un libero professionista a tempo pieno, uno svantaggio è che finisci per perdere questa rete. Non hai più colleghi o manager che ti consigliano per i ruoli. Per questo motivo, suggerisco di partecipare a eventi di data science locali o comunità online ( Come questa piattaforma ) in cui puoi interagire con altri esperti dello stesso settore. Come sviluppare le competenze necessarie per diventare un data scientist freelance ? Per diventare un data scientist freelance, è necessario possedere una solida base di competenze in diverse aree, come statistica, analisi dei dati, programmazione e machine learning. Un modo efficace per sviluppare queste competenze è seguire un percorso di studi universitario o post-laurea in scienza dei dati o in un campo correlato. Tuttavia, anche una formazione autodidatta può essere efficace, soprattutto se si ha già una base di conoscenze in queste aree. Ci sono molti corsi online, libri e tutorial disponibili per imparare le competenze necessarie per diventare un data scientist freelance. Inoltre, il nostro sito intelligenzaartificialeitalia.net è il punto di riferimento in Italia per iniziare ad avvicinarsi a questo mondo e acquisire le competenze necessarie per diventare un data scientist freelance di successo. È anche importante fare pratica e mettere in pratica ciò che si impara, ad esempio partecipando a hackathon o progetti open source. Un altro modo per sviluppare le competenze è lavorare come data scientist freelance in progetti a breve termine o in stage presso aziende o organizzazioni. In questo modo, si avrà la possibilità di acquisire esperienza pratica e di imparare da professionisti esperti nel settore. Come gestire la propria attività di data scientist freelance ? Gestire la propria attività di data scientist freelance richiede molta pianificazione e organizzazione. È importante avere una chiara comprensione delle proprie competenze e dei servizi che si offrono, nonché del mercato e dei concorrenti. Una volta che si è definita la propria nicchia di mercato e si è stabilito un piano d'azione, è importante creare una presenza online forte e professionale, ad esempio attraverso il proprio sito web e i profili sui social media. Inoltre, è importante mantenere una buona comunicazione con i clienti attuali e potenziali, fornendo loro aggiornamenti regolari e rispondendo tempestivamente alle loro richieste. Un altro aspetto importante è gestire il tempo in modo efficace, assegnando priorità alle attività e utilizzando strumenti di pianificazione e organizzazione del lavoro. Infine, è importante essere flessibili e adattarsi rapidamente ai cambiamenti del mercato e delle esigenze dei clienti. Gestire la propria attività di data scientist freelance può essere sfidante, ma con la giusta pianificazione e organizzazione, può anche essere molto gratificante. Suggerimenti aggiuntivi Dopo aver completato un'attività da freelance, assicurati di chiedere una raccomandazione al tuo cliente. I consigli sono la prova che hai svolto un lavoro soddisfacente e forniranno ai futuri clienti fiducia nei tuoi risultati. Ciò aumenta le tue possibilità di essere assunto di nuovo. Piattaforme come Upwork e Fiverr generalmente mostrano i loro freelance più votati nella prima pagina di ogni categoria. Se lavori su queste piattaforme, una raccomandazione aumenterà le tue possibilità di visibilità. Questo rende più probabile che tu venga assunto di nuovo per una posizione simile. Inoltre, assicurati di fornire sempre un lavoro di alta qualità per il tuo cliente. Molti dei miei accordi da freelance sono iniziati una tantum e, poiché il cliente ha apprezzato la qualità del lavoro, ha deciso di continuare a lavorare con me. Se fornisci costantemente i tuoi risultati in tempo e soddisfi le aspettative del tuo cliente, prenderanno anche in considerazione l'assunzione di te per attività future che si presentano invece di avvicinarsi ad altri candidati. Questo è tutto per questo articolo! Speriamo che tu l'abbia trovato utile e buona fortuna per il tuo viaggio nella scienza dei dati.

  • Apprendimento Automatico e Blockchain tutto quello che devi sapere

    L'Intelligenza Artificiale Spiegata Semplice Migliori IDE Python per il machine learning e data science Città intelligenti: al giorno d'oggi le città intelligenti stanno aiutando a migliorare il tenore di Letture correlate a "Apprendimento Automatico e Blockchain" : Come viene utilizzata l'intelligenza artificiale nel mercato delle crypto Come Utilizzare l' Intelligenza Artificiale nel Settore Finanziario Trading algoritmico e apprendimento automatico con Python Intelligenza Artificiale nelle imprese, come e perchè

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

    Non è difficile creare un modello di machine learning che funzioni sui nostri computer. È più difficile quando si lavora con un cliente che desidera utilizzare il modello su larga scala, ovvero un modello in grado di scalare ed eseguire su tutti i tipi di server in tutto il mondo. Dopo aver finito di progettare il tuo modello, potrebbe funzionare senza problemi sul tuo laptop o server, ma non così bene su altre piattaforme, come quando lo sposti nella fase di produzione o su un altro server. Molte cose possono andare storte, come problemi di prestazioni, arresto anomalo dell'applicazione o l'applicazione non ottimizzata in modo efficace. È stato sviluppato un modello di apprendimento automatico utilizzando un unico linguaggio di programmazione come Python , ma quasi sicuramente dovrà connettersi con più linguaggi di programmazione per l'acquisizione dei dati, la preparazione dei dati, il front-end, ecc. Docker semplifica la gestione di tutte queste interazioni perché ogni microservizio può essere costruito in un linguaggio distinto, consentendo la scalabilità e l'aggiunta rapida, l'eliminazione di servizi indipendenti. Riproducibilità, portabilità, facilità di implementazione, aggiornamenti granulari, leggerezza e semplicità sono tutti vantaggi di Docker. A volte non è il modello il problema, ma il requisito per ricreare l'intero stack. Docker ti consente di replicare facilmente l'ambiente di training e di esecuzione per il modello di machine learning da qualsiasi posizione. Docker ti consente di impacchettare il codice e le dipendenze in contenitori che possono essere trasferiti a host diversi, indipendentemente dall'hardware o dal sistema operativo. Gli sviluppatori possono utilizzare Docker per tenere traccia delle diverse versioni di un'immagine del contenitore, vedere chi l'ha prodotta con cosa e tornare alle versioni precedenti. Infine, anche se uno dei servizi dell'applicazione di machine learning è in fase di aggiornamento, correzione o down, l'applicazione di machine learning può continuare a essere eseguita. Per aggiornare un messaggio di output integrato nell'applicazione, non è necessario aggiornare l'intera applicazione e interrompere altri servizi. Cosa è Docker e quando è nato ? È una piattaforma software che semplifica lo sviluppo, l'esecuzione, la gestione e la distribuzione di applicazioni. Ciò è stato possibile virtualizzando il sistema operativo del computer che aveva installato. La prima edizione di Docker era stata lanciata nel 2013. Il linguaggio di programmazione GO è stato utilizzato per creare Docker. Considerando il ricco set di funzionalità che Docker ha da offrire, è stato ampiamente accettato da alcune delle principali organizzazioni e università del mondo, come Visa, PayPal, Cornell University e Indiana University (solo per citarne alcune) per gestire e gestire i propri applicazioni che utilizzano Docker. Ora proviamo a capire il problema e la soluzione offerta da Docker Problema Immaginiamo di voler ospitare tre applicazioni separate basate su Python su un singolo server (che potrebbe essere una macchina fisica o virtuale). Una versione diversa di Python utilizzata da questi programmi, librerie e dipendenze varia da applicazione ad applicazione. Non siamo in grado di ospitare tutte e tre le applicazioni sulla stessa workstation poiché diverse versioni di Python non possono essere installate sulla stessa macchina, Soluzione offerta da Docker Vediamo cosa potremmo fare se non usassimo Docker per affrontare questo problema. In questo caso, potremmo risolvere il problema con l'aiuto di tre macchine fisiche o utilizzando un singolo computer fisico abbastanza potente da ospitare ed eseguire tre macchine virtuali. Entrambi gli approcci ci aiuterebbero a installare varie versioni di Python e le relative dipendenze su ciascuna di queste macchine. Indipendentemente dalla soluzione che abbiamo scelto, i costi di acquisto e manutenzione dell'hardware sono notevoli. Diamo un'occhiata a come Docker potrebbe essere una soluzione praticabile ed economica a questo problema. Per comprenderlo, dobbiamo prima esaminarne la funzionalità. In termini semplici, il sistema con Docker installato e in esecuzione viene chiamato Docker Host o semplicemente Host. Di conseguenza, ogni volta che si desidera distribuire un'applicazione sull'host, verrà creata un'entità logica per ospitare tale applicazione. Questo oggetto logico è noto come Container o Docker Container nella nomenclatura Docker. Non è presente alcun sistema operativo installato o in esecuzione su un Docker Container. Tuttavia, verrebbe inclusa una replica virtuale della tabella del processo, delle interfacce di rete e del punto di montaggio del file system. Viene passato ulteriormente dal sistema operativo host su cui è ospitato ed è in esecuzione il contenitore. Il kernel del sistema operativo dell'host, invece, è condiviso da tutti i container in esecuzione su di esso. Consente a ciascun container sullo stesso host di essere isolato dagli altri. Di conseguenza, consente l'esecuzione sullo stesso host di numerosi contenitori con vari requisiti applicativi e dipendenze, purché i requisiti del sistema operativo siano gli stessi. La parte successiva, che affronta i vantaggi e gli svantaggi dell'adozione di Docker, ti aiuterà a capire come Docker aiuta a risolvere questa sfida. In altre parole, invece di virtualizzare i componenti hardware, Docker virtualizzerebbe il sistema operativo dell'host su cui era installato e in esecuzione. Pro e contro dell'utilizzo di Docker Pro dell'utilizzo di Docker Docker consente a numerosi programmi con requisiti e dipendenze diversi di essere ospitati sullo stesso host purché utilizzino lo stesso sistema operativo. I contenitori hanno in genere una dimensione di pochi megabyte e occupano relativamente poco spazio su disco, consentendo molte applicazioni ospitate sullo stesso host. Robustezza, non vi è alcun sistema operativo installato su un container. Di conseguenza, utilizza una memoria estremamente ridotta rispetto a una macchina virtuale (che avrebbe un sistema operativo completo installato e in esecuzione su di essa). Riduce il tempo di avvio a pochi secondi, mentre sono necessari diversi minuti per avviare una macchina virtuale. Il costo è inferiore quando si tratta dell'hardware necessario per eseguire Docker ed è meno impegnativo. Contro dell'utilizzo di Docker Sullo stesso Docker Host, non possiamo ospitare insieme applicazioni che hanno diverse esigenze del sistema operativo. Facciamo finta di avere quattro programmi separati, tre dei quali richiedono un sistema operativo basato su Linux e uno dei quali richiede un sistema operativo basato su Windows. Le tre app che richiedono un sistema operativo basato su Linux possono trovarsi su un singolo Docker Host. L'applicazione che richiede un sistema operativo basato su Windows deve trovarsi su un Docker Host separato. Componenti principali Docker Docker Engine è uno dei componenti principali ed è responsabile del funzionamento generale. È un'applicazione basata su client-server con tre componenti principali. Server Rest API Client Il server esegue il demone dockerd (Docker Daemon), che non è altro che un processo. Sulla piattaforma Docker, è responsabile della creazione e della gestione di immagini, contenitori, reti e volumi Docker. L' API REST definisce come le applicazioni possono interfacciarsi con il server e indica come completare le proprie attività. Il client è un'interfaccia a riga di comando che consente agli utenti di comunicare con Docker emettendo comandi. Terminologie Docker Diamo un'occhiata ad alcuni dei termini usati nel mondo Docker. Le immagini Docker e i contenitori Docker sono i due elementi più importanti che incontrerai lavorando regolarmente con Docker. In parole povere, un'immagine Docker è un modello che include il programma, le dipendenze necessarie per eseguirlo su Docker. Un Docker Container, invece, è un'entità logica, come indicato in precedenza. È un'istanza funzionante dell'immagine Docker in termini più tecnici. Docker Hub Docker Hub è il repository online ufficiale in cui possiamo trovare tutte le Docker Images che possiamo utilizzare. Se lo desideri, possiamo anche utilizzare Docker Hub per archiviare e distribuire le nostre immagini personalizzate. Potremmo anche renderli pubblici o privati, a seconda delle nostre esigenze. Nota: gli utenti gratuiti possono mantenere privata un'immagine Docker. Più di uno richiede un abbonamento a pagamento. Installazione Docker Prima di sporcarci le mani con Docker, un'ultima cosa che dobbiamo sapere è che dobbiamo averlo installato. Le istruzioni di installazione ufficiali di Docker sono qui sotto. Per installare Docker clicca il link relativo al tuo sistema operativo. CentOS Linux Debian Linux Fedora Linux Ubuntu Linux Microsoft Windows MacOS Vuoi saltare l'installazione e iniziare a esercitarti su Docker? Se non ti va di installare Docker o non hai abbastanza risorse sul tuo PC, non farti prendere dal panico: c'è una soluzione al tuo problema. Gioca con Docker, un parco giochi online per Docker, è il miglior punto di partenza. Consente agli utenti di esercitarsi immediatamente con i comandi Docker senza la necessità di installare nulla sul proprio PC. La parte migliore è che è facile da usare e completamente gratuito. Comandi Docker È finalmente giunto il momento di sporcarci le mani con i comandi Docker, come tutti stavamo aspettando creazione della finestra mobile Il comando di creazione della finestra mobile sarà il primo comando che esamineremo Possiamo usare questo comando per costruire un nuovo contenitore. Quella che segue è la sintassi per questo comando: docker create [options] IMAGE [commands] [arguments] Tieni presente che tutto ciò che viene inserito tra parentesi quadre è facoltativo. Vale per tutte le istruzioni presentate in questa guida. Di seguito sono riportati alcuni esempi di come utilizzare questo comando: $ docker create fedora 02576e880a2ccbb4ce5c51032ea3b3bb8316e5b626861fc87d28627c810af03 Il comando docker create nell'esempio precedente creerebbe un nuovo contenitore usando l'immagine Fedora più recente. Verificherà se l'ultima immagine ufficiale di Fedora è disponibile su Docker Host prima di costruire il container. Se l'immagine più recente non è accessibile sul Docker Host, il contenitore è stato avviato utilizzando l'immagine Fedora scaricata dal Docker Hub. Se l'immagine Fedora è già presente sul Docker Host, il contenitore usa quell'immagine per la creazione. Docker restituisce l'ID del contenitore in caso di creazione riuscita del contenitore. L'ID contenitore restituito da Docker è nell'esempio precedente. Un ID contenitore è stato assegnato a ciascun contenitore. Quando si eseguono varie attività sul contenitore, come l'avvio, l'arresto, il ripristino e così via, si fa riferimento ad esso con il relativo ID contenitore. Diamo un'occhiata a un altro esempio del comando docker create, questa volta con parametri e comando forniti. $ docker create -t -i ubuntu bash 30986b73dc0022dbba81648d9e35e6e866b4356f026e75660460c3474f1ca005 Il comando docker create nell'esempio precedente crea un contenitore usando l'immagine Ubuntu (se l'immagine non è disponibile nell'host Docker, scaricherà l'immagine più recente dall'hub Docker prima di creare il contenitore). Le opzioni -t e -i indicano a Docker di assegnare un terminale al container in modo che l'utente possa interagire con esso. Dice inoltre a Docker di eseguire il comando bash ogni volta che si avvia il contenitore. docker ps Il comando docker ps è il prossimo che esamineremo Possiamo usare il comando docker ps per vedere tutti i container attualmente in esecuzione sull'host Docker. $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES30986b73dc00 ubuntu "bash" 45 minutes ago Up About a minute elated_franklin Mostra solo i contenitori in esecuzione sull'host Docker in questo momento. Per visualizzare i contenitori creati su questo host Docker, indipendentemente dalla loro condizione attuale, in esecuzione o meno, è necessario utilizzare l'opzione -a, che elenca tutti i contenitori creati su questo host Docker. $ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES30986b73dc00 ubuntu “bash” About an hour ago Up 29 minutes elated_franklin02576e880a2c fedora “/bin/bash” About an hour ago Created hungry_sinoussi Cerchiamo di capire l'output sopra del comando docker ps. CONTAINER ID: è costituito da una stringa univoca con caratteri alfanumerici collegata a ciascun contenitore. IMMAGINE: Docker Immagine utilizzata per creare il contenitore. COMANDO: dopo l'avvio del contenitore, esegue tutti i comandi specifici dell'applicazione. CREATO: Fornisce il tempo trascorso dalla creazione del contenitore. STATUS: fornisce lo stato corrente del container. Se il container è in esecuzione, visualizzerà Up insieme al tempo trascorso. (fino a circa un'ora o fino a 5 minuti) Se il container non è in esecuzione, lo stato sarà Exited, con il codice dello stato di uscita racchiuso tra parentesi tonde e il tempo scaduto. (Uscita (0) 2 settimane fa o Uscita (137) 10 secondi fa) PORTS: fornisce le mappature delle porte descritte per il container. NOMI: oltre all'ID CONTAINER, ogni container aveva un nome univoco. Un container può essere identificato dal suo ID container o dal suo nome univoco. Ogni contenitore Docker genera e assegna un nome univoco per impostazione predefinita. Se desideri modificare il contenitore con un nome univoco, usa l'opzione –name con i comandi di creazione mobile o esecuzione mobile. Spero che questo ti aiuti a capire meglio cosa restituisce il comando docker ps. inizio della finestra mobile Il comando aiuta ad avviare eventuali contenitori fermi. docker start [options] CONTAINER ID/NAME [CONTAINER ID/NAME…] Per avviare il contenitore, puoi specificare i primi caratteri univoci dell'ID contenitore o il suo nome. Di seguito puoi guardare l'esempio. $ docker start 30986 $ docker start elated_franklin riavvio della finestra mobile Il comando aiuta a riavviare tutti i contenitori in esecuzione. docker restart [options] CONTAINER ID/NAME [CONTAINER ID/NAME…] Allo stesso modo, possiamo riavviare specificando i primi caratteri univoci dell'ID contenitore o il suo nome. Guarda gli esempi usando questo comando $ docker restart 30986 $ docker restart elated_franklin Stop della finestra Il comando aiuta a fermare tutti i contenitori in esecuzione. docker stop [options] CONTAINER ID/NAME [CONTAINER ID/NAME…] È correlato al comando di avvio. È possibile specificare i primi caratteri univoci dell'ID contenitore o il relativo nome per interrompere il contenitore. Dai un'occhiata agli esempi qui sotto $ docker stop 30986 $ docker stop elated_franklin avvia una finestra mobile Prima crea il contenitore e poi lo avvia. In sintesi, è una combinazione dei comandi di creazione e avvio della finestra mobile. Ha una sintassi simile alla creazione della finestra mobile. docker run [options] IMAGE [commands] [arguments] $ docker esegui ubuntu 30fa018c72682d78cf168626b5e6138bb3b3ae23015c5ec4bbcc2a088e67520 Nell'esempio sopra, crea un contenitore usando l'ultima immagine di Ubuntu, avvia il contenitore e lo interrompe immediatamente. Non possiamo avere la possibilità di interagire con esso. Per interagire con il contenitore, dobbiamo specificare le opzioni -it nel comando docker run, quindi possiamo interagire con il contenitore. $ docker run -it ubuntu root@e4e633428474:/# Digita exit nel terminale per uscire dal container. Docker rm Usiamo questo comando per eliminare un contenitore. docker rm [options] CONTAINER ID/NAME [CONTAINER ID/NAME...] $ docker rm 30fa elated_franklin Nell'esempio sopra, stiamo indicando alla finestra mobile di eliminare due contenitori in un unico comando. Specifichiamo l'ID per il primo e il nome per il secondo contenitore per l'eliminazione. Il contenitore deve essere in uno stato di arresto per eliminarlo. immagini della finestra mobile Il comando elenca tutte le immagini della finestra mobile presenti sull'host della finestra mobile. $ docker images REPOSITORY TAG IMAGE CREATED SIZEmysql latest 7bb2586065cd 38 hours ago 477MBhttpd latest 5eace252f2f2 38 hours ago 132MBubuntu 16.04 9361ce633ff1 2 weeks ago 118MBubuntu trusty 390582d83ead 2 weeks ago 188MBfedora latest d09302f77cfc 2 weeks ago 275MBubuntu latest 94e814e2efa8 2 weeks ago 88.9MB REPOSITORY: Descrive il nome univoco dell'immagine della finestra mobile. TAG: Ad ogni immagine è associato un tag univoco che rappresenta una versione dell'immagine. Un tag era rappresentato utilizzando una parola o un insieme di numeri o caratteri alfanumerici. IMMAGINE: È una stringa di caratteri alfanumerici associata a ciascuna immagine. CREATO: Fornisce il tempo trascorso da quando l'immagine è stata creata. DIMENSIONE: Fornisce la dimensione dell'immagine. Docker rmi Questo comando ci consente di rimuovere le immagini dall'host della finestra mobile. docker rmi [options] IMAGE NAME/ID [IMAGE NAME/ID...] docker rmi mysql Il comando rimuove l'immagine mysql dall'host della finestra mobile. Il comando seguente rimuove le immagini httpd e fedora dall'host Docker. docker rmi httpd fedora Il comando seguente rimuove l'immagine con ID 94e81 dall'host Docker. docker rmi 94e81 Il comando seguente rimuove l'immagine ubuntu con tag trusty. docker rmi ubuntu:trusty Questi sono alcuni dei comandi di base che incontri. Ci sono numerose altre istruzioni da esplorare. Conclusioni Sebbene la containerizzazione sia in circolazione da molto tempo, solo di recente ha ricevuto l'attenzione che merita. Google, Amazon Web Services (AWS), Intel, Tesla sono solo alcune delle principali aziende tecnologiche con i loro motori di container specializzati. Si affidano in modo significativo a loro per sviluppare, eseguire, amministrare e distribuire il loro software. Docker è un motore di containerizzazione estremamente potente e ha molto da offrire quando si tratta di creare, eseguire, gestire e distribuire le applicazioni in modo efficiente. Avevi visto Docker ad alto livello. C'è molto da studiare su Docker, tipo Comandi (comandi più potenti) Le immagini Docker sono un tipo di contenitore (crea le tue immagini personalizzate) Rete con Docker (configurazione della rete) Stack di Docker (servizi di raggruppamento richiesti da un'applicazione) Docker Compose è uno strumento che consente di creare un container (strumento per la gestione e l'esecuzione di più container) Sciame di Dockers (raggruppamento e gestione di una o più macchine su cui è in esecuzione Docker) L'utilizzo di docker È un'abilità a prova di futuro che solo ora sta guadagnando terreno. Investire tempo e denaro nello studio di Docker non è qualcosa di cui ti pentirai.

  • Come Convertire testo in voce online gratis con l' I.A.

    Darai una sbirciatina all'intelligenza artificiale che lo alimenta. artificiale L'intelligenza artificiale è la scienza e il design per creare macchine intelligenti. L'intelligenza artificiale utilizzata per trasformare il testo in audio. Questo processo avviene attraverso l'intelligenza artificiale. L'intelligenza artificiale utilizzata in Speechelo è la stessa intelligenza artificiale che alimenta

  • Introduzione a PyTorch per principianti

    integrato che fornisce set di dati pronti all'uso per molte applicazioni di deep learning, come la visione artificiale

  • 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.

  • Mito la libreria python per data scientist e data analyst

    Regressione Logistica per l'apprendimento automatico Scikit Learn e Python Tutorial Per Creare Modelli di Intelligenza Artificiale Tutorial Pratico Tensorflow , TensorBoard e Python Feature Engineering e Feature Selection

  • Che cos'è la Data Quality o qualità dei dati

    L'apprendimento automatico è una forma di intelligenza artificiale che consente ai computer di apprendere La qualità dei dati è un concetto cruciale nell'elaborazione dei dati e nell'intelligenza artificiale

  • Differenza tra algoritmi e modelli nel Machine Learning

    apprendimento automatico: Regressione lineare Regressione logistica Albero decisionale Rete neurale artificiale interessati all'" apprendimento " eseguito dagli algoritmi di apprendimento automatico nel senso di intelligenza artificiale.

  • Come Utilizzare il Machine learning per il Rilevamento delle Anomalie

    Approccio 2: Rete neurale artificiale per rilevare le anomalie Reti di codifica automatica Il secondo Un autoencoder è un tipo di rete neurale artificiale utilizzata per apprendere codifiche di dati efficienti Approccio 2: Rete neurale artificiale Come spiegato più dettagliatamente nella "Sezione tecnica" del

  • AI nella Supply Chain: Stato dell'Arte

    Negli ultimi anni, l'intelligenza artificiale (IA) ha rivoluzionato vari settori industriali, e la supply L'intelligenza artificiale ha il potenziale di rivoluzionare numerosi aspetti della supply chain. La potenza dell'intelligenza artificiale risiede nella sua capacità di analizzare e individuare correlazioni Gestire le Forniture con l’Intelligenza Artificiale La creazione degli ordini di acquisto, la produzione IA nella Supply Chain In sintesi, l'adozione dell'intelligenza artificiale nella supply chain offre un

bottom of page