hugging face 团队的transformer又更新了,现在里面有distilroberta和distilbert和albert模型,这三个模型值得我们对比其他模型的差异。那么如何运行呢?
首先进入GitHub,搜索transformer
https://github.com/huggingface/transformers
进入这个repo
git clone 或者下载下来
接着用pycharm或其他编辑器打开这个repo
https://github.com/huggingface/transformers/tree/master/examples
选择examples里的run_gule.py
找到最下面的__main__,把所有代码剪切出来单独封装一个函数为main(),参数有两个model和dataset。
dataset是数据集的名字也是数据所在文件夹名称,model是model type。在这里,最重要的是命令行的argument,由于我们不想用命令行输入参数,这里可以在parser.add_argument中加入参数default,并设置required为False,这样就有了一个默认值。
接着我们设置data dir和训练batch大小和epoch次数。
def main(model,task):
parser = argparse.ArgumentParser()
model_dir = model_to_dir[model]
## Required parameters
data_dir = '/home/socialbird/Downloads/transformers-master/examples/glue_data/{}'.format(task)
#task = 'RTE'
train_bs = 8
eps = 3.0
parser.add_argument("--data_dir", default=data_dir, type=str, required=False,
help="The input data dir. Should contain the .tsv files (or other data files) for the task.")
parser.add_argument("--model_type", default=model, type=str, required=False,
help="Model type selected in the list: " + ", ".join(MODEL_CLASSES.keys()))
parser.add_argument("--model_name_or_path", default=model_dir, type=str, required=False,
help="Path to pre-trained model or shortcut name selecte