文件¶
FBGEMM 和 FBGEMM_GPU 都在其原始碼檔案中提供了大量的註解,這些註解是這兩個函式庫最權威且最新的文件。
一般文件指南¶
當新增公開 API 方法時,應附帶充分的文件。以下是一些關於 FBGEMM 和 FBGEMM_GPU 程式碼文件化的指南
程式碼本身並非文件! 請設身處地為必須理解您的程式碼作用的新開發人員著想,讓他們的生活更輕鬆。
應為任何和所有公開 API 方法新增文件。
不要將文件視為一項獨立的任務。相反地,請與程式碼一起編寫文件字串。
至少,請新增
方法的描述。
可以傳遞給方法的參數和引數的描述。
方法的回傳值的描述。
使用範例、其他方法的連結以及方法調用限制。
特定文件指南¶
建置文件¶
注意: 最新的文件建置說明嵌入在 FBGEMM 儲存庫中的一組腳本中,位於 setup_env.bash。
建置 FBGEMM 和 FBGEMM_GPU 文件的一般步驟如下
設定隔離的建置環境。
建置 FBGEMM_GPU(CPU 變體)。
設定文件工具鏈。
執行文件建置腳本。
設定建置環境¶
請按照 設定隔離的建置環境 中的指示設定 Conda 環境。
建置 FBGEMM_GPU¶
需要建置一次 FBGEMM_GPU 才能正確建置文件。請按照 安裝建置工具 中的指示,然後按照 僅限 CPU 建置 中的指示,建置 FBGEMM_GPU(CPU 變體)。
設定文件工具鏈¶
# !! Run inside the Conda environment !!
# From the /fbgemm_gpu/ directory
cd docs
# Install Sphinx and other Python packages
pip install -r requirements.txt
# Install Doxygen and and other tools
conda install -c conda-forge --override-channels -y \
doxygen \
graphviz \
make
建置文件¶
# Generate the C++ documentation, the Python documentation, and assemble
# together
make clean doxygen html
建置完成後,檢視產生的文件
sphinx-serve -b build
檢查文件格式¶
用於建置的相同命令可以用於檢查格式,方法是在前面加上 SPHINX_LINT
標誌
SPHINX_LINT=1 make clean doxygen html
由於技術原因,在開啟格式檢查的情況下執行 Sphinx 建置會導致文件組裝不正確,這就是為什麼格式檢查與建置分開調用的原因。
有時,未解析的參考可能會在格式檢查時顯示出來,這些參考具有以下錯誤簽章
/opt/build/repo/fbgemm_gpu/docs/docstring of torch._ops.fbgemm.PyCapsule.jagged_2d_to_dense:1:py:class reference target not found: Tensor
如果這些錯誤結果證明是誤報,則可以將它們新增到 nitpick.ignore
檔案中(與 Sphinx conf.py
位於同一目錄中)來使其靜音。
# Add in `{domain} {reference}` format, with space in between.
py:class Tensor
部署預覽¶
當發出提取請求時,Netlify 將自動建置和部署 FBGEMM 和 FBGEMM_GPU 文件的預覽。建置完成後,可以在以下位置找到部署預覽
https://deploy-preview-{PR NUMBER}--pytorch-fbgemm-docs.netlify.app/