官术网_书友最值得收藏!

1.3 為什么需要容器化

容器提供的隔離性使得機器學習中的階段具有可移植性和可重現性。容器化的應用程序與機器的其他部分隔離開來,并且包含它們的所有需求(從操作系統開始)[1]。容器化意味著不再有“它在我的機器上工作”或“我們只忘記了一個額外的數據包”等對話。

容器建立在可組合的層之上,這允許你使用另一個容器作為基礎。例如,如果你想添加一個新的自然語言處理(NLP)庫,可以在現有的容器中進行添加,而不必每次都從頭開始。可組合性允許你復用一個共同的基礎。例如,我們使用的R容器和Python容器都共享一個基礎的Debian容器鏡像。

使用容器時,人們普遍擔心的一個問題是開銷。容器的開銷取決于你的實現,但IBM[2]的一篇論文表明容器開銷相當低,通常比虛擬化方式更快。使用Kubeflow時,如果你安裝了可能不使用的Operator,可能會產生一些額外的開銷,這種開銷在生產集群上可以忽略不計,但在筆記本電腦上可能會很明顯。

有Python經驗的數據科學家可以把容器看作一個較重的虛擬環境。除了你在虛擬環境中習慣的內容之外,容器還包括操作系統、數據包以及所需的一切依賴。

[1] 關于容器的更多信息,請參見Google云資源(https://oreil.ly/wqetc)。在有GPU或TPU的情況下,隔離細節更加復雜。

[2] W. Felter等人,“An Updated Performance Comparison of Virtual Machines and Linux Containers,”2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS),March 29-31, 2015, doi: 10.1109/ISPASS.2015.7095802。

主站蜘蛛池模板: 慈溪市| 察隅县| 阳江市| 嘉禾县| 揭西县| 霍林郭勒市| 侯马市| 滨州市| 天峻县| 郴州市| 云龙县| 赤城县| 邵阳县| 西贡区| 六安市| 绵竹市| 兴城市| 文登市| 乐昌市| 乐都县| 襄汾县| 沁水县| 绥棱县| 南皮县| 舟曲县| 砀山县| 海城市| 邯郸县| 木里| 罗田县| 孝感市| 灵寿县| 原阳县| 广丰县| 清水河县| 湘西| 广安市| 太和县| 峨眉山市| 定陶县| 古浪县|