Věděli jste, že Python je známý jako všestranný programovací jazyk?
Ano, je, ačkoli by neměl být používán u každého projektu,
Vy jej lze použít k vytváření desktopových aplikací, her, mobilních aplikací, webů a systémového softwaru. Je to dokonce ten nejvhodnější jazyk pro implementaci algoritmů umělé inteligence a strojového učení.
Takže jsem posledních pár týdnů strávil sbíráním jedinečných návrhů projektů pro vývojáře Pythonu. Tyto myšlenky na projekt snad donesou zpět váš zájem o tento úžasný jazyk. Nejlepší na tom je, že můžete zlepšit své programátorské dovednosti v Pythonu pomocí těchto zábavných, ale náročných projektů.
Pojďme se na ně podívat jeden po druhém.
1- Vytvoření softwaru GUI pomocí hlasových příkazů
V dnešní době došlo v oblasti vývoje desktopových aplikací k obrovskému pokroku. Uvidíte mnoho přetahovacích & nástrojů pro vytváření grafického uživatelského rozhraní a knihoven pro rozpoznávání řeči. Proč je tedy nespojit dohromady a nevytvořit si uživatelské rozhraní rozhovorem s počítačem?
Toto je čistě nový koncept a po nějakém výzkumu jsem zjistil, že se o to nikdo nikdy nepokusil. Může to tedy být o něco náročnější než ty, které jsou uvedeny níže.
Zde je několik pokynů, jak začít s tímto projektem pomocí Pythonu. Nejprve potřebujete tyto balíčky: –
- Knihovna rozpoznávání řeči
- PAGE – Přetáhněte & Drop GUI Builder
- Dokumentace
- Video o fungování PAGE
- Vytvořit přihlašovací okno pomocí PAGE
Nyní, myšlenkou je napevno zakódovat některé příkazy řeči, jako jsou:
Příkazy řeči | Popis |
---|---|
Přidat vstupní pole do okna | Přetáhne vstupní pole z panelu nástrojů Widget ”A umístěte jej na naše hlavní okno. |
Přesuňte INPUT_FIELD_NAME doleva / doprava / nahoru / dolů / uprostřed okna | Přesune konkrétní vstupní pole do uvedeného umístění. |
Přesunout INPUT_FIELD_NAME 5px nahoru / dolů / doleva / souprava ht | Tento příkaz dává programům pokyn ke změně polohy konkrétního vstupního pole, jak je uvedeno v pixelech a směru. |
Změňte barvu INPUT_FIELD_NAME na červenou / # ff0000 | Jednoduše změňte barvu písma konkrétního vstupního pole. |
Máte pravdu, že? Je velmi jednoduché a jednoduché přidat další podobné příkazy.
Protože se bude jednat o minimální životaschopný produkt (MVP). Bude tedy zcela v pořádku, pokud budete muset napevno zakódovat mnoho podmíněných příkazů (např. Pokud … jinak).
Po nastavení několika základních příkazů je čas kód otestovat. Prozatím si můžete zkusit vytvořit velmi základní přihlašovací formulář v okně.
Hlavní myšlenkou této flexibility je, že ji lze implementovat pro vývoj her, webové stránky a mobilní aplikace. I v různých programovacích jazycích.
2- AI Betting Bot
Sázení je aktivita, při které lidé předpovídají výsledek, a pokud mají pravdu, obdrží na oplátku odměnu. V posledních několika letech došlo v oblasti umělé inteligence nebo strojového učení k mnoha technologickým pokrokům.
Možná jste například slyšeli o programech jako AlphaGo Master, AlphaGo Zero a AlphaZero, které umí hrát Go (hra) lepší než jakýkoli profesionální lidský hráč. Můžete dokonce získat zdrojový kód podobného programu s názvem Leela Zero.
Chci sdělit, že AI je chytřejší než my. To znamená, že dokáže předpovědět něco lepšího, když vezme v úvahu všechny možnosti a poučí se z minulých zkušeností.
Pojďme aplikovat některé dohlížené koncepty učení v Pythonu na vytvoření AI Betting Bot. Zde je několik knihoven, které potřebujete, abyste mohli začít.
- pandy – analýza dat
- NumPy – vícerozměrná pole, matice a matematické funkce
- scikit-learn – Machine Learning
- XGBoost – Gradient Boosting
- Matplotlib – Plotting
- seaborn – Statistics Data Visualization
- pickle – Python Object Serializace
Nejprve je třeba vybrat hru (např. Tenis, fotbal atd.) Pro předpovídání výsledků.Nyní vyhledejte data historických výsledků zápasů, která lze použít k trénování modelu.
Například data tenisových zápasů si můžete stáhnout ve formátu CSV z webových stránek tennis-data.co.uk.
Pokud nejste obeznámeni se sázením, funguje to takto.
Po zaškolení modelu musíme pro každou předpověď vypočítat úroveň důvěryhodnosti, zjistit výkonnost našeho robota podle zkontrolovat, kolikrát byla předpověď správná, a nakonec také sledovat návratnost investic (ROI).
Stáhněte si podobný open-source projekt AI Betting Bot od Edouarda Thomase.
3- Obchodní robot
Trading Bot je velmi podobný předchozímu projektu, protože pro predikci vyžaduje také AI.
Nyní je otázkou, zda umělá inteligence dokáže správně předvídat fluktuaci ceny akcií?
A odpověď je ano.
Než začneme, ne upravil některá data pro vývoj obchodního robota.
- Yahoo! Finance – to get stock data
- Alpha Vantage – Real-time API for financial data
Tyto zdroje od Investopedia mohou pomoci při školení robota.
- Obchodní strategie pro začátečníky
- Obchod proveďte pouze v případě, že projde tímto pětistupňovým testem
Po přečtení obou těchto článků nyní budete mít lepší pochopení toho, kdy nakupovat akcie a kdy ne. Tyto znalosti lze snadno převést na program Pythonu, který za nás automaticky učiní rozhodnutí.
Můžete si také vzít odkaz z tohoto open-source obchodního robota zvaného freqtrade. Je vytvořen pomocí Pythonu a implementuje několik algoritmů strojového učení.
4- Iron Man Jarvis (virtuální asistent na bázi AI)
Tento nápad vychází z hollywoodské filmové série Iron Muž. Film se točí kolem technologie, robotů a umělé inteligence.
Iron Man zde vybudoval pro sebe virtuálního asistenta pomocí umělé inteligence. Tento program je znám jako Jarvis, který pomáhá Iron Manovi v každodenních úkolech.
Iron Man dává Jarvisovi pokyny pomocí jednoduchého anglického jazyka a Jarvis odpovídá také v angličtině. To znamená, že náš program bude potřebovat rozpoznávání řeči i funkce převodu textu na řeč.
Doporučil bych použít tyto knihovny:
- Rozpoznávání řeči
- Převod textu na řeč (TTS)
Prozatím můžete pevně zakódovat příkazy řeči jako:
Příkazy řeči | Příklad | Popis |
---|---|---|
Otevřít SOFTWARE_NAME | Otevřít Google Chrome | Otevřít nainstalovaný program v počítači. |
KEYWORD Wikipedia | Donald Trump Wikipedia | Prohledá Wikipedii konkrétní klíčové slovo a přečte obsah pomocí funkce převodu textu na řeč. |
Scan DRIVE_NAME / FOLDER_NAME / FILE_NAME | Scan C Drive | Prostřednictvím tohoto příkazu dává Jarvis pokyn antivirovému softwaru, aby provedl skenování. |
Ano Můžete také použít Jarvis na spoustu dalších úkolů, jako jsou:
- Nastavit budík na mobilu.
- Průběžně kontrolujte domácí bezpečnostní kameru a informujte ji, pokud někdo čeká venku. Můžete přidat další funkce, jako je detekce a rozpoznávání obličeje. Pomůže vám zjistit, kdo nebo kolik lidí tam je.
- Otevřít / zavřít okna místnosti.
- Zapnout / vypnout světla.
- Automaticky reagovat na e-maily .
- Naplánujte úkoly.
Dokonce i zakladatel Facebooku „Mark Zuckerberg“ vybudoval Jarvis jako vedlejší projekt.
5 – Sledujte webové stránky a získejte informace o nadcházejícím koncertu umělců
Songkick je velmi oblíbená služba, která poskytuje informace o nadcházejících koncertech. Jeho API lze použít k vyhledání nadcházejících koncertů podle:
- Umělec
- Místo
- Místo
- Datum a čas
Můžete vytvořit skript v Pythonu který denně kontroluje konkrétní koncert pomocí API Songkick. Nakonec si pošlete e-mail, kdykoli je koncert k dispozici.
Někdy Songkick dokonce na svých webových stránkách zobrazí odkaz na nákup vstupenek. Tento odkaz by však mohl přejít na A různé webové stránky pro různé koncerty. To znamená, že je velmi obtížné automaticky kupovat vstupenky, i když využíváme web scraping.
Spíše můžeme jednoduše zobrazit odkaz Koupit vstupenky tak, jak je v naší aplikaci pro ruční akci.
6- Automaticky obnovovat zdarma Pojďme šifrovat certifikáty SSL
Lets Encrypt je certifikační autorita, která nabízí bezplatné certifikáty SSL. Problém však je, že tento certifikát je platný pouze po dobu 90 dnů. Po 90 dnech jej musíte obnovit.
Podle mého názoru se jedná o skvělý scénář pro automatizaci pomocí Pythonu. Můžeme napsat nějaký kód, který automaticky obnoví certifikát SSL webu před vypršením platnosti.
Pro inspiraci se podívejte na tento kód na GitHubu.
7- Rozpoznání jednotlivců v davu
V těchto dnech vlády instalovaly na veřejných místech sledovací kamery, aby zvýšily bezpečnost svých občanů. Většina z těchto kamer slouží pouze k nahrávání videa a poté musí forenzní odborníci jednotlivce ručně rozpoznat nebo vystopovat.
Co když vytvoříme program v Pythonu, který rozpozná každou osobu ve fotoaparátu v reálném čase. Nejprve potřebujeme přístup k národní databázi občanských průkazů, kterou pravděpodobně nemáme.
Snadnou možností je tedy vytvořit databázi se záznamy členů vaší rodiny.
Potom můžete použít knihovnu rozpoznávání tváří a propojit ji s výstupem z kamery.
8- Sledování kontaktů
Sledování kontaktů je způsob, jak identifikovat všechny ti lidé, kteří spolu přicházejí do styku během určitého časového období. Je to většinou užitečné při pandemii jako COVID-19 nebo HIV. Protože bez jakýchkoli údajů o tom, kdo je infikován, nemůžeme zastavit jeho šíření.
Python může být použit s algoritmem strojového učení s názvem DBSCAN (Density-Based Spatial Clustering of Applications with Noise) pro trasování kontaktů.
Jelikož se jedná pouze o vedlejší projekt, nemáme přístup k jakýmkoli oficiálním datům. Prozatím je lepší generovat některá realistická data z testů pomocí g Mockaroo.
V tomto článku se můžete podívat na konkrétní implementaci kódu.
9 – Automaticky přesouvat soubory z jedné složky do druhé
Toto je velmi základní program v Pythonu, který neustále sleduje složku. Kdykoli je do této složky přidán soubor, zkontroluje jeho typ a odpovídajícím způsobem jej přesune do konkrétní složky.
Například můžeme sledovat naši složku ke stažení. Když se nyní stáhne nový soubor, automaticky se přesune do jiné složky podle jeho typu.
Soubory .exe jsou pravděpodobně softwarová nastavení, takže je přesuňte do složky „software“. , pohybující se obrázky (png, jpg, gif) ve složce „images“.
Tímto způsobem můžeme uspořádat různé typy souborů pro rychlý přístup.
10- Shromážděte videa o kariéře Z YouTube
Vytvořte aplikaci, která akceptuje názvy dovedností, které se musíme pro kariéru naučit.
Chcete-li se například stát webovým vývojářem, musíme se naučit :
Po zadání dovedností se zobrazí tlačítko „Generovat dráhu kariéry“. Dává našemu programu pokyn vyhledávat na YouTube a vybírat relevantní videa / seznamy videí podle jednotlivých dovedností. V případě, že existuje mnoho podobných videí pro dovednost pak vybere ten s největším počtem zobrazení, komentářů, lajků atd c.
Program poté seskupí tato videa podle dovedností a zobrazí jejich miniaturu, název a odkaz v grafickém uživatelském rozhraní.
Bude také analyzovat dobu trvání každého videa, agregovat je , a poté nás informujte o tom, kolik času bude trvat, než se naučíme tuto kariérní cestu.
Nyní jako uživatel můžeme sledovat tato videa, která jsou krok za krokem uspořádána, aby se stala mistrem v tuto kariéru.
Závěr
Když budete vyzývat jedinečné programovací projekty, budete aktivní, zdokonalíte své dovednosti a pomůžete prozkoumat nové možnosti.
Některé z projektů nápady, které jsem zmínil výše, lze také použít jako váš závěrečný rok.
Je čas ukázat svou kreativitu pomocí programovacího jazyka Python a proměnit tyto nápady v něco, na co budete hrdí.
Díky ke čtení!