Code Note 有更簡單的介紹整體架構和模型運行,但沒有實際的Dataset執行方法,只有Demo幾張資料圖片。
前幾日有提到如何使用github,建立好新環境,可以把之前提供的網址 git clone 下來
$ conda activate adapter
$ git clone https://github.com/fan84sunny/T2I-Adapter
🔧 Dependencies and Installation
Python >= 3.6 (Recommend to use Anaconda or Miniconda)
PyTorch >= 1.4
$ pip install -r requirements.txt
不想訓練: 可以跳過準備 Dataset 的步驟
因為不是每個人都有多GPU,所以要改code。
1. 多gpu改過code了 有新增os.environ[’RANK’]=str(0), 然後[dist_utils.py] init_dist_ 註解掉一行了# dist.init_process_group(backend=backend, **kwargs)
2. self.log_var 在GPU 但t在CPU 所以code改成丟在GPU
class CrossAttentionWrapper(CrossAttention):
def forward(self, x, context=None, mask=None):
b, c, h, w = x.shape
x = rearrange(x, 'b c h w -> b (h w) c')
out = super().forward(x, context=context, mask=mask)
x = rearrange(x, 'b (h w) c-> b c h w', h=h, w=w, c=c)
out = rearrange(out, 'b (h w) c -> b c h w', h=h, w=w, c=c)
return x + out
RuntimeError: NVML_SUCCESS == DriverAPI::get()->nvmlInit_v2() INTERNAL ASSERT FAILED
在跑之前進去改py的路徑,改成你下載的資料集的路徑位址。
$ CUDA_VISIBLE_DEVICES='你自己想要的GPU' python train_skectch.py
$ CUDA_VISIBLE_DEVICES='你自己想要的GPU' python train_seg.py
如果是Pycharm:
打開你要執行的那個檔案,點右鍵 有個 `Run/Debug Configurations` -> `modify run configuration` ->在 Environment variables 新增 CUDA_VISIBLE_DEVICES='你自己想要的GPU'
訓練好的權重會放在
/home/[user]/T2I-Adapter/experiments/train_sketch_archived_
這篇文章已經涵蓋了大部分設置和運行 T2I-Adapter 專案的關鍵步驟,但我還有一些補充建議: