項目|紙|幻燈片| COLAB-FID | COLAB-RESIZE |排行榜表
快速開始:計算FID |計算孩子
[新]現在支持使用夾子功能[Kynkäänniemi等,2022]計算FID。有關更多詳細信息,請參見此處。
FID計算涉及許多步驟,這些步驟可能會在最終度量標準中產生不一致。如下所示,不同的實現使用不同的低級圖像量化和調整大小功能,後者通常會錯誤地實現。
我們提供一個易於使用的庫來解決上述問題,並使不同方法,論文和組之間的FID分數可比。
關於GAN評估中的混蛋調整大小和令人驚訝的微妙
Gaurav Parmar,Richard Zhang,Jun-Yan Zhu
CVPR,2022
CMU和Adobe
如果您發現此存儲庫對您的研究有用,請引用以下工作。
@inproceedings{parmar2021cleanfid,
title={On Aliased Resizing and Surprising Subtleties in GAN Evaluation},
author={Parmar, Gaurav and Zhang, Richard and Zhu, Jun-Yan},
booktitle={CVPR},
year={2022}
}
混合調整大小操作
調整大小功能的定義是數學的,絕不應該是所使用的庫的函數。不幸的是,在常用的庫中實現不同。它們通常由流行的庫錯誤地實施。在此處的Google COLAB筆記本中嘗試不同的調整大小的實現。
實施之間的不一致會產生評估指標的巨大影響。下表顯示,與正確實現的pil-bicubic過濾器相比,與其他相同圖像相比,與其他庫的FFHQ數據集圖像相比,其他庫(OpenCV,Pytorch,TensorFlow,openCV)的FFHQ數據集圖像具有較大的FID分數(≥6)。來自PIL的其他正確實現的過濾器(Lanczos,Biinear,Box)都會導致相對較小的FID得分(≤0.75)。請注意,由於TF 2.0,新的標誌antialias (默認值: False )可以產生接近PIL的結果。但是,它未在現有的TF-FID回購中使用,並默認設置為False 。
JPEG圖像壓縮
圖像壓縮可能會對FID產生驚人的影響。圖像在感知上是無法區分的,但FID得分很高。圖像下的FID得分是在使用相應的JPEG格式和PNG格式保存的所有FFHQ圖像之間計算的。
下面,我們研究了JPEG壓縮對在FFHQ數據集(左)和LSUN戶外教堂數據集(右)訓練的stylegan2模型(右)的效果。請注意,LSUN數據集圖像是用JPEG壓縮(質量75)收集的,而FFHQ圖像作為PNG收集。有趣的是,對於LSUN數據集,當生成的圖像用JPEG質量87壓縮時,獲得最佳的FID得分(3.48)。
pip install clean-fid
from cleanfid import fid
score = fid.compute_fid(fdir1, fdir2)
FFHQ )之間的FID from cleanfid import fid
score = fid.compute_fid(fdir1, dataset_name="FFHQ", dataset_res=1024, dataset_split="trainval70k")
from cleanfid import fid
# function that accepts a latent and returns an image in range[0,255]
gen = lambda z: GAN(latent=z, ... , <other_flags>)
score = fid.compute_fid(gen=gen, dataset_name="FFHQ",
dataset_res=256, num_gen=50_000, dataset_split="trainval70k")
要在計算FID [Kynkäänniemiet al,2022]時使用剪輯功能,請指定flag model_name="clip_vit_b_32"
from cleanfid import fid
score = fid.compute_fid(fdir1, fdir2, mode="clean", model_name="clip_vit_b_32")
可以使用與FID相似的接口計算孩子分數。僅針對較小的數據集AFHQ , BreCaHAD和MetFaces數據集統計信息才預先計算。
from cleanfid import fid
score = fid.compute_kid(fdir1, fdir2)
from cleanfid import fid
score = fid.compute_kid(fdir1, dataset_name="brecahad", dataset_res=512, dataset_split="train")
from cleanfid import fid
# function that accepts a latent and returns an image in range[0,255]
gen = lambda z: GAN(latent=z, ... , <other_flags>)
score = fid.compute_kid(gen=gen, dataset_name="brecahad", dataset_res=512, num_gen=50_000, dataset_split="train")
我們為以下常用配置提供了預計統計信息。如果您想為新數據集添加統計信息,請與我們聯繫。
| 任務 | 數據集 | 解決 | 參考拆分 | #參考圖像 | 模式 |
|---|---|---|---|---|---|
| 圖像生成 | cifar10 | 32 | train | 50,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | cifar10 | 32 | test | 10,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | ffhq | 1024,256 | trainval | 50,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | ffhq | 1024,256 | trainval70k | 70,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | lsun_church | 256 | train | 50,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | lsun_church | 256 | trainfull | 126,227 | clean |
| 圖像生成 | lsun_horse | 256 | train | 50,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | lsun_horse | 256 | trainfull | 2,000,340 | clean |
| 圖像生成 | lsun_cat | 256 | train | 50,000 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像生成 | lsun_cat | 256 | trainfull | 1,657,264 | clean , legacy_tensorflow , legacy_pytorch |
| 很少有射擊 | afhq_cat | 512 | train | 5153 | clean , legacy_tensorflow , legacy_pytorch |
| 很少有射擊 | afhq_dog | 512 | train | 4739 | clean , legacy_tensorflow , legacy_pytorch |
| 很少有射擊 | afhq_wild | 512 | train | 4738 | clean , legacy_tensorflow , legacy_pytorch |
| 很少有射擊 | brecahad | 512 | train | 1944年 | clean , legacy_tensorflow , legacy_pytorch |
| 很少有射擊 | metfaces | 1024 | train | 1336 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像到圖像 | horse2zebra | 256 | test | 140 | clean , legacy_tensorflow , legacy_pytorch |
| 圖像到圖像 | cat2dog | 256 | test | 500 | clean , legacy_tensorflow , legacy_pytorch |
使用預定的統計信息來使用預先計算的數據集統計信息計算FID分數,請使用相應的選項。例如,要計算生成的256x256 ffhq圖像上的清潔-ID分數使用命令:
fid_score = fid.compute_fid(fdir1, dataset_name="ffhq", dataset_res=256, mode="clean", dataset_split="trainval70k")
Dataset_path :存儲數據集圖像的文件夾
Custom_name :用於統計的名稱
生成自定義統計信息(保存到本地緩存)
from cleanfid import fid
fid.make_custom_stats(custom_name, dataset_path, mode="clean")
使用生成的自定義統計信息
from cleanfid import fid
score = fid.compute_fid("folder_fake", dataset_name=custom_name,
mode="clean", dataset_split="custom")
刪除自定義統計信息
from cleanfid import fid
fid.remove_custom_stats(custom_name, mode="clean")
檢查自定義統計量是否已經存在
from cleanfid import fid
fid.test_stats_exists(custom_name, mode)
我們提供兩個旗幟來複製傳統FID得分。
mode="legacy_pytorch"
該標誌等於使用此處提供的流行的Pytorch FID實現
使用此選項和代碼使用Clean-FID之間的區別是〜2E-06
有關如何比較方法,請參見DOC
mode="legacy_tensorflow"
該標誌等於使用作者發布的官方實施FID。
使用此選項和代碼使用Clean-FID之間的區別是〜2E-05
有關如何比較方法的詳細步驟,請參見DOC
python setup.py bdist_wheel
pip install dist/*
我們使用原始論文中使用的相應方法計算FID得分,並使用此處提出的清潔紙。所有值均使用10個評估運行計算。我們提供一個API,以直接從PIP包中查詢下表中顯示的結果。
如果您想在我們的排行榜中添加新的數字和模型,請隨時與我們聯繫。
test集用作參考分佈,並將其與10K生成的圖像進行比較。
100%數據(無條件)
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2( + ada +調諧)[Karras等,2020] | - † | - † | 8.20±0.10 |
| stylegan2(+ada)[Karras等,2020] | - † | - † | 9.26±0.06 |
| stylegan2(diff-agemment)[Zhao等,2020] [CKPT] | 9.89 | 9.90±0.09 | 10.85±0.10 |
| stylegan2(鏡像)[Karras等,2020] [CKPT] | 11.07 | 11.07±0.10 | 12.96±0.07 |
| stylegan2(無流盤)[Karras等,2020] | - † | - † | 14.53±0.13 |
| Autogan(config A)[Gong等,2019] | - † | - † | 21.18±0.12 |
| Autogan(配置B)[Gong等,2019] | - † | - † | 22.46±0.15 |
| Autogan(配置C)[Gong等,2019] | - † | - † | 23.62±0.30 |
†這些方法使用訓練集作為參考分佈,並將其與50k生成的圖像進行比較
20%的數據
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 12.15 | 12.12±0.15 | 14.18±0.13 |
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 23.08 | 23.01±0.19 | 29.49±0.17 |
10%數據
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 14.50 | 14.53±0.12 | 16.98±0.18 |
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 36.02 | 35.94±0.17 | 43.60±0.17 |
test集用作參考分佈,並將其與10K生成的圖像進行比較。
100%數據
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 16.54 | 16.44±0.19 | 18.44±0.24 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 15.22 | 15.15±0.13 | 16.80±0.13 |
20%的數據
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 32.30 | 32.26±0.19 | 34.88±0.14 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 16.65 | 16.74±0.10 | 18.49±0.08 |
10%數據
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 45.87 | 45.97±0.20 | 46.77±0.19 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 20.75 | 20.69±0.12 | 23.40±0.09 |
所有圖像 @ 1024x1024
使用50k生成的圖像計算值
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 | 參考拆分 |
|---|---|---|---|---|
| stylegan1(config a)[Karras等,2020] | 4.4 | 4.39±0.03 | 4.77±0.03 | trainval |
| stylegan2(config B)[Karras等,2020] | 4.39 | 4.43±0.03 | 4.89±0.03 | trainval |
| stylegan2(config c)[Karras等,2020] | 4.38 | 4.40±0.02 | 4.79±0.02 | trainval |
| stylegan2(config d)[Karras等,2020] | 4.34 | 4.34±0.02 | 4.78±0.03 | trainval |
| stylegan2(config e)[Karras等,2020] | 3.31 | 3.33±0.02 | 3.79±0.02 | trainval |
| stylegan2(config f)[Karras等,2020] [CKPT] | 2.84 | 2.83 +-0.03 | 3.06 +-0.02 | trainval |
| stylegan2 [Karras等,2020] [CKPT] | N/A。 | 2.76±0.03 | 2.98±0.03 | trainval70k |
140k-圖像 @ 256x256(帶有水平翻轉的整個訓練集) trainval70k集中的70K圖像用作參考圖像,並與50k生成的圖像相比。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| ZCR [Zhao等,2020]† | 3.45±0.19 | 3.29±0.01 | 3.40±0.01 |
| stylegan2 [Karras等,2020]† | 3.66±0.10 | 3.57±0.03 | 3.73±0.03 |
| Pa-Gan [Zhang and Khoreva等,2019]† | 3.78±0.06 | 3.67±0.03 | 3.81±0.03 |
| stylegan2-ada [Karras等,2020]† | 3.88±0.13 | 3.84±0.02 | 3.93±0.02 |
| 輔助旋轉[Chen等,2019]† | 4.16±0.05 | 4.10±0.02 | 4.29±0.03 |
| 自適應輟學[Karras等,2020]† | 4.16±0.05 | 4.09±0.02 | 4.20±0.02 |
| 光譜規範[Miyato等,2018]† | 4.60±0.19 | 4.43±0.02 | 4.65±0.02 |
| WGAN-GP [Gulrajani等,2017]† | 6.54±0.37 | 6.19±0.03 | 6.62±0.03 |
†[Karras等,2020]報導
30k-圖像 @ 256x256(幾射發電)
來自trainval70k集的70K圖像用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 6.16 | 6.14±0.064 | 6.49±0.068 |
| Diffaigment-Stylegan2 [Zhao等,2020] [CKPT] | 5.05 | 5.07±0.030 | 5.18±0.032 |
10k-圖像 @ 256x256(幾射發電)
來自trainval70k集的70K圖像用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 14.75 | 14.88±0.070 | 16.04±0.078 |
| Diffaigment-Stylegan2 [Zhao等,2020] [CKPT] | 7.86 | 7.82±0.045 | 8.12±0.044 |
5K-圖像 @ 256x256(幾射發電)
來自trainval70k集的70K圖像用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 26.60 | 26.64±0.086 | 28.17±0.090 |
| Diffaigment-Stylegan2 [Zhao等,2020] [CKPT] | 10.45 | 10.45±0.047 | 10.99±0.050 |
1K-圖像 @ 256x256(幾射發電)
來自trainval70k集的70K圖像用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 62.16 | 62.14±0.108 | 64.17±0.113 |
| Diffaigment-Stylegan2 [Zhao等,2020] [CKPT] | 25.66 | 25.60±0.071 | 27.26±0.077 |
100%數據
來自train集的50k圖像用作參考圖像,並與50k生成的圖像進行了比較。
| 類別 | 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|---|
| 戶外教堂 | stylegan2 [Karras等,2020] [CKPT] | 3.86 | 3.87±0.029 | 4.08±0.028 |
| 馬匹 | stylegan2 [Karras等,2020] [CKPT] | 3.43 | 3.41±0.021 | 3.62±0.023 |
| 貓 | stylegan2 [Karras等,2020] [CKPT] | 6.93 | 7.02±0.039 | 7.47±0.035 |
LSUN CAT -30K圖像(幾射發電)
所有1,657,264張來自trainfull拆分的圖像均用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 10.12 | 10.15±0.04 | 10.87±0.04 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 9.68 | 9.70±0.07 | 10.25±0.07 |
LSUN CAT- 10K圖像(幾射發電)
所有1,657,264張來自trainfull拆分的圖像均用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 17.93 | 17.98±0.09 | 18.71±0.09 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 12.07 | 12.04±0.08 | 12.53±0.08 |
LSUN CAT -5K圖像(很少射擊生成)
所有1,657,264張來自trainfull拆分的圖像均用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 34.69 | 34.66±0.12 | 35.85±0.12 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 16.11 | 16.11±0.09 | 16.79±0.09 |
LSUN CAT -1K圖像(幾射發電)
所有1,657,264張來自trainfull拆分的圖像均用作參考圖像,並與50K生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 mirror-flips [Karras等,2020] [CKPT] | 182.85 | 182.80±0.21 | 185.86±0.21 |
| stylegan2-diff-augment [Zhao等,2020] [CKPT] | 42.26 | 42.07±0.16 | 43.12±0.16 |
AFHQ狗
所有4739個來自train拆分的圖像均用作參考圖像,並與50k生成的圖像進行了比較。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 19.37 | 19.34±0.08 | 20.10±0.08 |
| stylegan2-ada [Karras等,2020] [CKPT] | 7.40 | 7.41±0.02 | 7.61±0.02 |
AFHQ野外
與50k生成的圖像相比,將所有4738張train用作參考圖像。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 3.48 | 3.55±0.03 | 3.66±0.02 |
| stylegan2-ada [Karras等,2020] [CKPT] | 3.05 | 3.01±0.02 | 3.03±0.02 |
所有1944年來自train拆分的圖像均用作參考圖像,並將其與50k生成的圖像進行比較。
| 模型 | 遺產 fid (報導) | 遺產 fid (複製) | 乾淨的框架 | 遺產 孩子 (報導) 10^3 | 遺產 孩子 (複製) 10^3 | 乾淨的 孩子 10^3 |
|---|---|---|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 97.72 | 97.46±0.17 | 98.35±0.17 | 89.76 | 89.90±0.31 | 92.51±0.32 |
| stylegan2-ada [Karras等,2020] [CKPT] | 15.71 | 15.70±0.06 | 15.63±0.06 | 2.88 | 2.93±0.08 | 3.08±0.08 |
所有1336張來自train拆分的圖像均用作參考圖像,並將其與50k生成的圖像進行比較。
| 模型 | 遺產 fid (報導) | 遺產 fid (複製) | 乾淨的框架 | 遺產 孩子 (報導) 10^3 | 遺產 孩子 (複製) 10^3 | 乾淨的 孩子 10^3 |
|---|---|---|---|---|---|---|
| stylegan2 [Karras等,2020] [CKPT] | 57.26 | 57.36±0.10 | 65.74±0.11 | 35.66 | 35.69±0.16 | 40.90±0.14 |
| stylegan2-ada [Karras等,2020] [CKPT] | 18.22 | 18.18±0.03 | 19.60±0.03 | 2.41 | 2.38±0.05 | 2.86±0.04 |
所有140張來自test拆分的圖像均用作參考圖像,並與120個翻譯圖像相比。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| 剪切[Park等,2020] | 45.5 | 45.51 | 43.71 |
| 距離[Benaim和Wolf等,2017] [Park等,2020]報導 | 72.0 | 71.97 | 71.01 |
| fastcut [Park et al,2020] | 73.4 | 73.38 | 72.53 |
| 自行車[Zhu等,2017] [Park等,2020]報導 | 77.2 | 77.20 | 75.17 |
| [Park等,2020]報導[Benaim and Wolf等,2017] Selfdistance [Benaim and Wolf等,2017] | 80.8 | 80.78 | 79.28 |
| GCGAN [FU等,2019]由[Park等,2020]報導 | 86.7 | 85.86 | 83.65 |
| Munit [Huang等,2018]由[Park等,2020]報導 | 133.8 | - † | 120.48 |
| Drit [Lee等,2017]由[Park等,2020]報導 | 140.0 | - † | 99.56 |
†[Park等,2020]使用.jpeg壓縮對這些方法的翻譯圖像進行了徹底比較。我們使用相同的原始方法對這兩種方法進行重新訓練,並生成圖像作為.png進行公平比較。
所有來自test拆分的500張圖像均用作參考圖像,並與500個翻譯圖像相比。
| 模型 | 遺產 - 限制 (報導) | 遺產 - 限制 (複製) | 乾淨的框架 |
|---|---|---|---|
| 剪切[Park等,2020] | 76.2 | 76.21 | 77.58 |
| fastcut [Park et al,2020] | 94.0 | 93.95 | 95.37 |
| GCGAN [FU等,2019]由[Park等,2020]報導 | 96.6 | 96.61 | 96.49 |
| Munit [Huang等,2018]由[Park等,2020]報導 | 104.4 | - † | 123.73 |
| Drit [Lee等,2017]由[Park等,2020]報導 | 123.4 | - † | 127.21 |
| [Park等,2020]報導[Benaim and Wolf等,2017] Selfdistance [Benaim and Wolf等,2017] | 144.4 | 144.42 | 147.23 |
| 距離[Benaim和Wolf等,2017] [Park等,2020]報導 | 155.3 | 155.34 | 158.39 |
†[Park等,2020]使用.jpeg壓縮對這些方法的翻譯圖像進行了徹底比較。我們使用相同的原始方法對這兩種方法進行重新訓練,並生成圖像作為.png進行公平比較。
火炬忠誠度:Pytorch中生成模型的高保真性能指標。
TTUR:培訓gan的兩個時間尺度更新規則。
LPIP:感知相似性度量和數據集。
該存儲庫中的所有材料均根據MIT許可提供。
Inception_pytorch.py源自Maximilian Seitzer提供的FID的Pytorch實現。這些文件最初是在Apache 2.0許可下共享的。
Inception-2015-12-05.PT是Christian Szegedy,Vincent Vanhoucke,Sergey Ioffe,Jonathon Shlens和Zbigniew Wojna的預先訓練Inception-V3網絡的火炬模型。該網絡最初是在Tensorflow模型存儲庫上的Apache 2.0許可下共享的。 Tero Karras和Miika Aittala和Janne Hellsten,Samuli Laine和Jaakko Lehtinen和Timo Aila提供了ToRECHScript包裝紙,該包裝紙是由NVIDIA源代碼許可證發布的。