AMD 显卡在windows下完美兼容transformer/pytorch

经过微软的努力 ,支持pytorch 2.0的directml-torch 已经可以试用,经过测试,已经可以完美支持transformer库。

你的amd显卡可以在windows下用来炼丹了

建议windows 10或11环境

安装方法:

1. 安装anaconda

2.   pip install torch-directml==0.2.0.dev230426     # 这个版本会变化 ,目前不指定版本安装的是1.13支持的版本,不能兼容transformer.

注意,需要提前再安装好transformers 库和其它依赖库,这个懂的都懂。

测试代码

import os
import torch
import imp
try:
    imp.find_module('torch_directml')
    found_directml = True
    import torch_directml
except ImportError:
    found_directml = False
from transformers import AutoTokenizer, AutoModel

MODEL_NAME="microsoft/codebert-base"
from transformers import AutoTokenizer, AutoModel

if found_directml:
    device=torch_directml.device()
else:
    device=torch.device("cpu")


tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME)
model = AutoModel.from_pretrained(MODEL_NAME).to(device)
nl_tokens=tokenizer.tokenize("return maximum value")

code_tokens=tokenizer.tokenize("def max(a,b): if a>b: return a else return b")
tokens=[tokenizer.cls_token]+nl_tokens+[tokenizer.sep_token]+code_tokens+[tokenizer.eos_token]
tokens_ids=tokenizer.convert_tokens_to_ids(tokens)
input=torch.tensor(tokens_ids)[None,:].to(device)
for i in range(1000):
    context_embeddings=model(input)[0]
    #print(context_embeddings)
print("done")

猜你喜欢

转载自blog.csdn.net/znsoft/article/details/130469461
AMD