henryzord commited on
Commit
d112cc8
·
verified ·
1 Parent(s): 5178e4b

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +15 -51
README.md CHANGED
@@ -34,63 +34,27 @@ pelo modelo.
34
 
35
  ## Treinamento
36
 
37
- Para utilizar este script:
38
 
39
- 1. A partir do diretório raiz do repositório, crie uma pasta `instance`. Dentro dela, crie uma pasta `models`.
40
- Finalmente, dentro da pasta `models`, crie outra pasta, desta vez com o nome do modelo que será treinado. Neste
41
- exemplo usaremos o nome `student-sentiment-analysis-multilabel`, mas você pode usar qualquer outro nome.
42
-
43
- ```
44
- nlp/
45
- instance/
46
- models/
47
- student-sentiment-analysis-multilabel/
48
- ```
49
-
50
- 2. Copie-e-cole para dentro da pasta do modelo o arquivo [parameters.json](student_sentiment_analysis_multilabel.json):
51
-
52
- ```
53
- nlp/
54
- instance/
55
- models/
56
- student-sentiment-analysis-multilabel/
57
- parameters.json
58
- ```
59
-
60
- 3. Abra este arquivo em um editor de texto, e mude os parâmetros de acordo com sua preferência. Os principais parâmetros
61
- a serem modificados são:
62
 
63
- * use_cpu: use `true` caso você não tenha uma placa de vídeo NVIDIA compatível com CUDA. Para saber se sua placa é
64
- compatível, execute o comando `python -c "import torch; print(torch.cuda.is_available())`; caso a saída deste
65
- comando seja `True`, você tem uma placa de vídeo compatível e configurada.
66
- * num_train_epochs: número de épocas para treinar o modelo. Para fazer um fine-tuning, não é necessário utilizar
67
- muitas épocas. Modifique de acordo com sua preferência;
68
- * train_path, val_path, test_path: caminhos para arquivos de treino, validação e teste, respectivamente. Os arquivos
69
- devem estar no formato csv, possuírem delimitação por vírgula, texto entre aspas, e codificação UTF-8. Use caminho
70
- absoluto.
71
- * input_column: nome da coluna nos arquivos de treino, validação e teste que possuí o texto.
72
- * class_name: nome das colunas que serão utilizadas como atributo-classe, uma coluna para cada rótulo. Estas colunas
73
- devem ser binárias (i.e. valor 1 para um comentário que apresenta aquele sentimento, ou 0 em caso contrário).
74
- * output_dir: caminho onde escrever o modelo treinado. Use um caminho absoluto para o diretório
75
- `instance/models/<nome_do_modelo>`, e.g.
76
- `C:\\Users\\henry\\Projects\\nlp\\instance\\models\\multilabel_two_classes`
77
- * output_model_name: Nome do modelo. Neste tutorial, estamos usando `multilabel_two_classes`
78
 
79
- 4. Após a configuração, e a partir da pasta raiz do diretório, execute o script [finetune.py](finetune.py),
80
- passando como parâmetro o caminho do arquivo `parameters.json`:
81
 
82
- ```bash
83
- conda activate nlp
84
- python learning/multilabel/finetune.py --parameters-path instance/models/<nome_do_modelo>/student_sentiment_analysis_multilabel.json
85
- ```
86
-
87
- Substitua `<nome_do_modelo>` pelo nome dado para o parâmetro `output_model_name`.
88
 
89
- ## Predição
 
90
 
91
- Para predizer valores com o modelo treinado:
92
 
93
  ```bash
94
- conda activate nlp
95
- python --model-path "path_to_model" --mode annotate --dataset-path "path_to_csv"
96
  ```
 
34
 
35
  ## Treinamento
36
 
37
+ Consulte o repositório do [GitHub](https://github.com/COPLIN-UFSM/nlp)
38
 
39
+ ## Predição
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
+ Você precisará gerar um [token de acesso](https://huggingface.co/settings/tokens) para fazer inferências. Armazene este token na variável `token`:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
 
43
+ ```python
44
+ from transformers import pipeline, BertTokenizer, BertForSequenceClassification
45
 
46
+ model = BertForSequenceClassification.from_pretrained('COPLIN-UFSM/student-sentiment-analysis-multilabel', token=token)
47
+ tokenizer = BertTokenizer.from_pretrained(
48
+ 'COPLIN-UFSM/student-sentiment-analysis-multilabel', model_max_length=model.config.max_position_embeddings, token=token
49
+ )
50
+ pipe = pipeline('sentiment-analysis', model=model, tokenizer=tokenizer, device='cpu')
 
51
 
52
+ pipe('eu adoro o professor henry!', top_k=None)
53
+ ```
54
 
55
+ A saída será:
56
 
57
  ```bash
58
+ [{'label': 'positive', 'score': 0.9967827796936035},
59
+ {'label': 'negative', 'score': 0.001376272994093597}]
60
  ```