在上一篇文章中我們講到了數(shù)值計(jì)算税手、數(shù)據(jù)可視化、Web開發(fā)需纳、數(shù)據(jù)庫管理的一些常用庫芦倒。下面我們來看看自動(dòng)化運(yùn)維、圖形界面編程不翩、機(jī)器學(xué)習(xí)兵扬、深度學(xué)習(xí)的常用庫。
自動(dòng)化運(yùn)維
jumpsever跳板機(jī)
用Python編寫的開源跳板機(jī)(堡壘機(jī))系統(tǒng)口蝠,該系統(tǒng)實(shí)現(xiàn)跳板機(jī)的基本功能器钟,包括身份驗(yàn)證,授權(quán)和審計(jì)妙蔗,并集成Ansible傲霸,批處理命令等。支持WebTerminalBootstrap編寫眉反,漂亮的界面昙啄,自動(dòng)收集硬件信息,支持視頻播放寸五、命令搜索梳凛、實(shí)時(shí)監(jiān)控、批量上傳和下載等功能梳杏,基于SSH協(xié)議進(jìn)行管理伶跷,客戶端無需安裝代理掰读。主要用于解決視覺安全管理,因?yàn)樗峭耆_源的叭莫,因此很容易再次開發(fā)蹈集。
Magedu分布式監(jiān)控系統(tǒng)
用Python開發(fā)的自動(dòng)化監(jiān)視系統(tǒng),可以監(jiān)視常見的系統(tǒng)服務(wù)雇初,應(yīng)用程序和網(wǎng)絡(luò)設(shè)備拢肆。它可以在一臺(tái)主機(jī)上監(jiān)視多種不同的服務(wù)。不同服務(wù)的監(jiān)視間隔可以不同靖诗」郑可以在不同主機(jī)上監(jiān)視同一服務(wù)。間隔和警報(bào)閾值可以不同刊橘,并提供數(shù)據(jù)可視化界面鄙才。
Magedu的CMDB
用Python開發(fā)的硬件管理系統(tǒng),包括收集硬件數(shù)據(jù)促绵、API和頁面管理的三個(gè)功能攒庵。它主要用于自動(dòng)管理筆記本和路由器等常見設(shè)備的日常使用。服務(wù)器的客戶終端收集硬件數(shù)據(jù)败晴,并將硬件信息發(fā)送到API浓冒。 API負(fù)責(zé)將獲取的數(shù)據(jù)保存在數(shù)據(jù)庫中,后臺(tái)管理程序負(fù)責(zé)配置和顯示服務(wù)器信息尖坤。
用戶界面(GUI)編程
Tkinter
一個(gè)Python標(biāo)準(zhǔn)GUI庫稳懒,可以快速創(chuàng)建GUI應(yīng)用程序,該應(yīng)用程序可以在大多數(shù)Unix平臺(tái)上使用慢味,也可以在Windows和Mac os系統(tǒng)上使用场梆。Tkinter8.0的后續(xù)版本可以實(shí)現(xiàn)本機(jī)窗口樣式,并且可以在大多數(shù)平臺(tái)上很好地運(yùn)行纯路。
wxPython
wxWidgets的Python軟件包和Python模塊是一個(gè)開源軟件跨平臺(tái)GUI庫辙谜,它是使用Python語言編寫的出色的GUI圖形庫,可以輕松地創(chuàng)建完整且功能齊全的GUI用戶界面感昼。
PyQt
用于創(chuàng)建GUI應(yīng)用程序的工具庫是Python編程語言和Qt的成功融合装哆。它可以在所有主要操作系統(tǒng)上運(yùn)行,包括UNIX定嗓、Windows和Mac蜕琴。PyQt使用雙重許可證。開發(fā)人員可以在GPL和商業(yè)許可之間進(jìn)行選擇宵溅。從PyQt第4版開始凌简,GPL許可證可在所有受支持的平臺(tái)上使用。
PySide
跨平臺(tái)應(yīng)用程序框架Qt是Python綁定版本恃逻,提供與PyQt類似的功能雏搂,并且與API兼容藕施,但是它使用的LGPL許可證與PyQt不同。
機(jī)器學(xué)習(xí)
Scikit-Learn
Scikit-Learn基于NumPy和SciPy凸郑。它是專門為機(jī)器學(xué)習(xí)而構(gòu)建的Python模塊裳食。它提供了用于數(shù)據(jù)挖掘和分析的大量工具,包括一系列接口芙沥,例如數(shù)據(jù)預(yù)處理诲祸、交叉驗(yàn)證、算法和可視化算法而昨。
Orange3
Orange3是基于組件的數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)軟件包救氯,支持Python進(jìn)行腳本開發(fā)。它包含一系列數(shù)據(jù)可視化歌憨、檢索着憨、預(yù)處理和建模技術(shù),具有良好的用戶界面务嫡,還可以用作Python模塊甲抖。
用戶可以通過數(shù)據(jù)可視化進(jìn)行數(shù)據(jù)分析,包括統(tǒng)計(jì)分布圖植袍、直方圖惧眠、散點(diǎn)圖和更深的決策樹籽懦、層次聚類于个、熱圖、MDS(多維分析)暮顺、線性預(yù)測(cè)等厅篓、并且可以使用Orange 具有用于NLP、文本挖掘捶码、網(wǎng)絡(luò)分析羽氮、推理高頻數(shù)據(jù)集和關(guān)聯(lián)規(guī)則數(shù)據(jù)分析的各種其他功能組件。
XGBoost
XGBoost是一個(gè)專注于梯度提升算法的機(jī)器學(xué)習(xí)庫惫恼。它以其出色的學(xué)習(xí)效果和有效的訓(xùn)練速度而受到了廣泛的關(guān)注档押。XGBoost支持并行處理,與Scikit-Learn庫相比祈纯,其性能也提高了10倍以上令宿,Scikit-Learn庫也實(shí)現(xiàn)了梯度增強(qiáng)算法。XGBoost可以處理多項(xiàng)任務(wù)腕窥,例如回歸粒没、分類和排序。
NuPIC
NuPIC是一個(gè)專注于時(shí)間序列的機(jī)器學(xué)習(xí)平臺(tái)簇爆。它的核心算法是HTM算法癞松,它比深度學(xué)習(xí)更接近人腦的操作結(jié)構(gòu)爽撒。HTM算法的理論基礎(chǔ)主要是新皮層的工作原理,該新皮層處理人腦中的高級(jí)認(rèn)知功能响蓉。 NuPIC可用于預(yù)測(cè)和異常檢測(cè)硕勿,并具有廣泛的應(yīng)用范圍,只需要輸入時(shí)間序列厕妖。
Milk(MachineLearningToolkit)
Milk專注于提高運(yùn)行速度和減少內(nèi)存占用首尼,因此大多數(shù)對(duì)性能敏感的代碼都是用C ++編寫的,并且在此基礎(chǔ)上提供了一個(gè)Python界面以方便使用言秸。它著重于提供有監(jiān)督的分類方法软能,例如SVM、KNN举畸、隨機(jī)森林和決策樹查排,并且還支持無監(jiān)督的學(xué)習(xí)算法,例如K均值和緊密關(guān)系傳播抄沮。
深度學(xué)習(xí)
Caffe(ConvolutionalArchitectureforFastFeatureEmbedding)
這是一個(gè)以表達(dá)跋核、速度和模塊化為核心的深度學(xué)習(xí)框架。它具有清晰度高叛买、可讀性強(qiáng)和速度快的特點(diǎn)砂代,并廣泛用于視頻和圖像處理中。Caffe中的網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化以配置文件的形式定義率挣,該文件易于使用刻伊,無需通過代碼構(gòu)建網(wǎng)絡(luò)。網(wǎng)絡(luò)訓(xùn)練速度快椒功,可以訓(xùn)練大數(shù)據(jù)集和最新模型捶箱;模塊化組件可以方便地?cái)U(kuò)展到新模型和學(xué)習(xí)任務(wù)。
Theano
Theano誕生于2008年动漾,是一個(gè)高性能的符號(hào)計(jì)算和深度學(xué)習(xí)庫丁屎。它被認(rèn)為是深度學(xué)習(xí)庫的始祖之一,并且是深度學(xué)習(xí)研究和應(yīng)用的重要標(biāo)準(zhǔn)之一旱眯。它的核心是數(shù)學(xué)表達(dá)式編譯器晨川,專門設(shè)計(jì)用于處理大規(guī)模神經(jīng)網(wǎng)絡(luò)訓(xùn)練計(jì)算。Theano很好地集成了NumPy删豺,可以直接使用NumPy的ndarray共虑,從而大大降低了API接口的學(xué)習(xí)成本; 它的計(jì)算穩(wěn)定性好吼鳞,可以精確計(jì)算輸出值較小的函數(shù)看蚜,例如log(1 + x); 動(dòng)態(tài)生成C或CUDA代碼以編譯成高效的機(jī)器代碼赔桌。
TensorFlow
TensorFlow是一個(gè)相對(duì)高級(jí)的機(jī)器學(xué)習(xí)庫供炎。它的核心代碼是用C ++編寫的渴逻,并且支持自動(dòng)派生,使用戶可以輕松設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)音诫,而無需自己編寫C ++或CUDA代碼惨奕,也不需要通過反向傳播來解決梯度問題。由于底層是用C ++語言編寫的竭钝,因此可以確保運(yùn)行效率并簡(jiǎn)化了在線部署的復(fù)雜性梨撞。
Keras
Keras是一個(gè)高度模塊化的神經(jīng)網(wǎng)絡(luò)庫,用Python實(shí)現(xiàn)香罐,可以同時(shí)在TensorFlow和Theano上運(yùn)行卧波。
如果你想學(xué)習(xí)Python,但是找不到學(xué)習(xí)路徑和資源庇茫,歡迎來指尖編程