问题描述
我尝试过this,但对我来说不起作用。我正在使用此Git repo。我正在构建一个桌面应用程序,并且不希望用户下载模型。我想运送带有模型的模型。我知道变形金刚库会在cache/torch/transformers
中寻找模型。如果不存在,请下载。我也知道您可以在cache_dir
中传递pre_trained
参数。
我正在尝试这个。
cache = os.path.join(os.path.abspath(os.getcwd()),'Transformation/Annotators/New Sentiment Analysis/transformers')
os.environ['TRANSFORMERS_CACHE'] = cache
if args.model_name_or_path is None:
args.model_name_or_path = 'barissayil/bert-sentiment-analysis-sst'
#Configuration for the desired transformer model
config = AutoConfig.from_pretrained(args.model_name_or_path,cache_dir=cache)
我已经尝试了上述问题的解决方案,还尝试了cache_dir。转换器文件夹与analyzer.py位于同一目录中。整个repo和转换器文件夹位于New Sentiment Analysis目录中。
解决方法
您实际上没有显示无法正常工作的代码,但我认为您执行了以下操作:
from transformers import AutoConfig
import os
os.environ['TRANSFORMERS_CACHE'] = '/blabla/cache/'
config = AutoConfig.from_pretrained('barissayil/bert-sentiment-analysis-sst')
os.path.isdir('/blabla/cache/')
输出:
False
这不会为缓存创建一个新的默认位置,因为在设置环境变量之前已导入了转换器库(我修改了链接的问题以使其更加清楚)。修改默认缓存目录的正确方法是在导入转换器库之前,先设置环境变量 :
import os
os.environ['TRANSFORMERS_CACHE'] = '/blabla/cache/'
from transformers import AutoConfig
config = AutoConfig.from_pretrained('barissayil/bert-sentiment-analysis-sst')
os.path.isdir('/blabla/cache/')
输出:
True