未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...
由于大多數現實環境是三維的,因此理想情況下,應針對3D數據訓練旨在分析視頻或現實環境中的完整任務的深度學習模型。諸如機器人,自動駕駛汽車,智能手機和其他設備之類的技術工具目前正在產生越來越多的3-D數據,最終可以由深度學習算法對其進行處理。
但是,到目前為止,在如此大量的3D數據上訓練深度學習算法一直相對困難,因為某些人工智能(AI)研究人員只能訪問必要的工具和平臺。為了解決缺乏現成的工具的不足,NVIDIA的一個研究人員團隊最近創建了Kaolin,這是一個PyTorch開源庫,旨在推進和促進3-D深度學習研究。
目前,還沒有一個單一的開源軟件庫可以支持3-D數據的多種表示形式,多種任務和評估標準。” “我們決定通過創建第一個全面的3D深度學習庫Kaolin來彌補文獻中的這一空白。”
由Jatavallabhula和他的同事提出的PyTorch庫Kaolin包含各種工具,可用于構建可分析3-D數據的深度學習架構,這些架構既高效又易于使用。它還允許研究人員在用于訓練深度學習算法之前加載,預處理和操縱3D數據。
它包括多個圖形模塊,可編輯3D圖像,并具有渲染,照明,陰影和視圖變形等功能。此外,它支持廣泛的損失函數和評估指標,使研究人員可以輕松評估其深度學習算法。
功能性
當前,該版本包含多個處理功能,用于在網格,體素,有符號距離功能和點云上進行3D深度學習。開箱即用地支持加載幾個流行的數據集(例如ShapeNet,ModelNet,SHREC)。我們還實現了幾種3D轉換和變換操作(在上述表示形式之內和之間)。
kaolin支持多種3D任務,例如:
- 可區分的渲染(請參見神經網格渲染器,其PyTorch端口,Soft Rasterizer,基于可區分插值的渲染器以及模塊化和可擴展的抽象DifferentiableRenderer規范)。
- 基于單圖像的網格重建(Pixel2Mesh,GEOMetrics,OccupancyNets等)
- Pointcloud分類和細分(PointNet,PoinNet ++,DGCNN ……)
- 網格分類和分割(MeshCNN,GCN)
- 三維像素網格上的3D超分辨率(ODM,VoxelUNet等)
- 基本的圖形實用程序(照明,陰影等)
模型動物園
kaolin策劃了一個大型模型動物園,其中包含流行的3D DL體系結構的參考實現。
注意:對于其中的某些模型,實現是由原始作者完成的。我們架起了通往圖書館的橋梁,并在可能的地方引入了優化。如果您使用模型動物園中的任何模型或圖形包(例如,可區分的渲染器,例如NMR,SoftRas,DIB-R),請引用高嶺土之外的原始論文。為了方便起見,每種提供的模型的文檔中均包含了每篇原始論文的BibTeX引用格式。
支持平臺
在Linux平臺上受到正式支持,并已在Ubuntu 18上進行了構建和測試。Windows和Mac支持也將全面支持。
安裝kaolin
我們強烈建議在虛擬環境(例如使用conda或virtualenv創建的虛擬環境)中安裝高嶺土。Kaolin期望使用Python 3.6以上版本,并且當前需要使用支持CUDA的計算機(即安裝了nvcc的計算機)進行構建。
首先創建一個虛擬環境。在這個例子中,我們展示了如何創建一個conda虛擬環境來安裝kaolin。
$ conda create --name kaolin python=3.6$ conda activate kaolin安裝依賴項(numpy和Torch)。請注意,安裝文件不會自動安裝這些依賴項。
conda install numpy現在,您可以安裝該庫。從此存儲庫的根目錄(即包含此自述文件的目錄)中運行
$ python setup.py install在安裝過程中,packman軟件包管理器會將nv-usd軟件包下載到?/ packman-repo /,其中包含用于讀取和寫入通用場景描述(USD)文件的必要軟件包。
驗證安裝
要驗證是否已安裝kaolin,請啟動您的python解釋器,然后執行以下命令。
>>> import kaolin as kal>>> print(kal.__version__)主要模塊
rep:支持的3D資產表示包括:三角形網格,四邊形網格,體素網格,點云,符號距離函數(SDF)。
conversions:支持所有流行3D表示形式之間的轉換。
models:提供的型號包括以下。對于每個實現,我們還提供了指向其移植的原始實現的鏈接。
- DGCNN
- DIB-R
- GEOMetrics
- Image2Mesh
- Occupancy Network
- Pixel2Mesh
- PointNet
- PointNet++
- MeshEncoder
- GraphResNet:
- OccupancyNetworks
- MeshCNN
- VoxelGAN
- AtlasNet
- And many more to come!
演示
kaolin訓練3D DL模型變得簡單, 我們以5行代碼說明了訓練和測試用于汽車與飛機的PointNet ++分類器所需的代碼:
import torchimport kaolin as kaldata = torch.utils.data.DataLoader(kal.datasets.ShapeNet(...))model = kal.models.PointNet2()engile = kal.Engine()engine.fit(model, data, ...)engine.test()支持的格式
- Polygon meshes
- Pointclouds
- Voxel grids
- Signed distance functions and level sets
- Depth images (2.5D)
kaolin提供了有效的PyTorch操作,可在3D表示形式之間進行轉換。盡管網格,點云和體素網格仍然是最流行的3D表示形式,但高嶺土廣泛支持符號距離函數(SDF),正交深度圖(ODM)和RGB-D圖像。
Kaolin將為加快3D DL研究的重要一步,但研發人員并不打算止于此。他們打算在Kaolin周邊建立一個強大的開源社區,并歡迎其他3D深度學習研究人員和實踐者的貢獻。
論文地址:
https://arxiv.org/pdf/1911.05063.pdf
總結
以上是生活随笔為你收集整理的未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中使用什么表示代码块、不需要
- 下一篇: 小程序获取input 的value_[小