Instructions to use FacebookAI/xlm-roberta-large with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use FacebookAI/xlm-roberta-large with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("fill-mask", model="FacebookAI/xlm-roberta-large")# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForMaskedLM tokenizer = AutoTokenizer.from_pretrained("FacebookAI/xlm-roberta-large") model = AutoModelForMaskedLM.from_pretrained("FacebookAI/xlm-roberta-large", device_map="auto") - Inference
- Notebooks
- Google Colab
- Kaggle
Download src/utils/logger.py from FacebookAI/xlm-roberta-large: direct link, hf CLI and curl.
- Browser
- Download file 4.68 kB
-
https://huggingface.co/FacebookAI/xlm-roberta-large/resolve/refs%2Fpr%2F8/src/utils/logger.py
- Command line
-
hf download hf://FacebookAI/xlm-roberta-large@refs/pr/8/src/utils/logger.py
-
curl -L -o logger.py https://huggingface.co/FacebookAI/xlm-roberta-large/resolve/refs%2Fpr%2F8/src/utils/logger.py
4.68 kB
| import os | |
| import json | |
| import torch | |
| from torch.autograd import Variable | |
| from torch.utils.tensorboard import SummaryWriter | |
| # from torchvision.utils import make_grid | |
| # from torchviz import make_dot | |
| class Logger: | |
| """""" | |
| def __init__(self, model, trainer, log_dir, comment=None): | |
| """Initializer for Logger Class | |
| Args: | |
| """ | |
| self.model_path = os.path.join(log_dir, model, trainer) | |
| self.writer = SummaryWriter(log_dir=self.model_path, comment=comment) | |
| try: | |
| if not os.path.exists(log_dir): | |
| os.makedirs(log_dir) | |
| if not (os.path.exists(self.model_path)): | |
| os.makedirs(self.model_path) | |
| else: | |
| pass | |
| # print("Directory Already Exists.") | |
| except Exception as e: | |
| print(e) | |
| print("Failed to Create Log Directory.") | |
| def save_params( | |
| self, | |
| param_list, | |
| param_name_list, | |
| epoch=None, | |
| batch_size=None, | |
| batch=None, | |
| combine=False, | |
| combine_name=None, | |
| global_step=None, | |
| ): | |
| if combine == False: | |
| for i in range(len(param_list)): | |
| if isinstance(param_list[i], Variable): | |
| param_list[i] = param_list[i].data.cpu().numpy() | |
| if global_step is None: | |
| self.writer.add_scalar( | |
| param_name_list[i], | |
| param_list[i], | |
| Logger._global_step(epoch, batch_size, batch), | |
| ) | |
| else: | |
| self.writer.add_scalar( | |
| param_name_list[i], param_list[i], global_step | |
| ) | |
| else: | |
| scalar_dict = dict(zip(param_name_list, param_list)) | |
| if global_step is None: | |
| self.writer.add_scalars( | |
| combine_name, | |
| scalar_dict, | |
| Logger._global_step(epoch, batch_size, batch), | |
| ) | |
| else: | |
| self.writer.add_scalars(combine_name, scalar_dict, global_step) | |
| def save_batch_images( | |
| self, image_name, image_batch, epoch, batch_size, batch=None, dataformats="CHW" | |
| ): | |
| self.writer.add_images( | |
| image_name, | |
| image_batch, | |
| Logger._global_step(epoch, batch_size, batch), | |
| dataformats=dataformats, | |
| ) | |
| def save_prcurve(self, labels, preds, epoch, batch_size, batch=None): | |
| self.writer.add_pr_curve( | |
| "pr_curve", labels, preds, Logger._global_step(epoch, batch_size, batch) | |
| ) | |
| def save_hyperparams( | |
| self, hparam_list, hparam_name_list, metric_list, metric_name_list | |
| ): | |
| for i in range(len(hparam_list)): | |
| if isinstance(hparam_list[i], list): | |
| hparam_list[i] = ",".join(list(map(str, hparam_list[i]))) | |
| if isinstance(hparam_list[i], dict): | |
| hparam_list[i] = json.dumps(hparam_list[i]) | |
| if hparam_list[i] is None: | |
| hparam_list[i] = "None" | |
| print(hparam_list, hparam_name_list, metric_list, metric_name_list) | |
| self.writer.add_hparams( | |
| dict(zip(hparam_name_list, hparam_list)), | |
| dict(zip(metric_name_list, metric_list)), | |
| ) | |
| def save_models(self, model_list, model_names_list, epoch): | |
| for model_name, model in zip(model_names_list, model_list): | |
| torch.save(model.state_dict(), os.path.join(self.model_path, model_name)) | |
| def save_fig(self, fig, fig_name, epoch, batch_size, batch=None): | |
| self.writer.add_figure( | |
| fig_name, fig, Logger._global_step(epoch, batch_size, batch) | |
| ) | |
| # def display_params(self, | |
| # params_list, params_name_list, epoch, num_epochs, batch_size, batch | |
| # ): | |
| # for i in range(len(params_list)): | |
| # if isinstance(params_list[i], Variable): | |
| # params_list[i] = params_list[i].data.cpu().numpy() | |
| # print("Epoch: {}/{}, Batch: {}/{}".format(epoch, num_epochs, batch, batch_size)) | |
| # for i in range(len(params_list)): | |
| # print("{}:{}".format(params_name_list[i], params_list[i])) | |
| # | |
| # def draw_model_architecture(self,model, output, input, input_name, save_name): | |
| # make_dot( | |
| # output, params=dict(list(model.named_parameters())) + [(input_name, input)] | |
| # ) | |
| def close(self): | |
| self.writer.close() | |
| def _global_step(epoch, batch_size, batch): | |
| if batch: | |
| return epoch * batch_size + batch | |
| else: | |
| return epoch | |