Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
transformers
Commits
5858e8e4
"...resnet50_tensorflow.git" did not exist on "6496bcf879e876e682c4572c7362ad68683a3492"
Commit
5858e8e4
authored
Nov 03, 2018
by
VictorSanh
Browse files
Fix both loss and eval metrics -> more coherence on the loss (eval vs train and tf vs pt)
parent
cd09cd5b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
10 deletions
+13
-10
run_classifier_pytorch.py
run_classifier_pytorch.py
+13
-10
No files found.
run_classifier_pytorch.py
View file @
5858e8e4
...
...
@@ -507,7 +507,6 @@ def main():
t_total
=
num_train_steps
)
global_step
=
0
total_tr_loss
=
0
if
args
.
do_train
:
train_features
=
convert_examples_to_features
(
train_examples
,
label_list
,
args
.
max_seq_length
,
tokenizer
)
...
...
@@ -529,8 +528,10 @@ def main():
train_dataloader
=
DataLoader
(
train_data
,
sampler
=
train_sampler
,
batch_size
=
args
.
train_batch_size
)
model
.
train
()
nb_tr_examples
=
0
for
epoch
in
trange
(
int
(
args
.
num_train_epochs
),
desc
=
"Epoch"
):
tr_loss
=
0
nb_tr_examples
,
nb_tr_steps
=
0
,
0
for
input_ids
,
input_mask
,
segment_ids
,
label_ids
in
tqdm
(
train_dataloader
,
desc
=
"Iteration"
):
input_ids
=
input_ids
.
to
(
device
)
input_mask
=
input_mask
.
float
().
to
(
device
)
...
...
@@ -538,12 +539,14 @@ def main():
label_ids
=
label_ids
.
to
(
device
)
loss
,
_
=
model
(
input_ids
,
segment_ids
,
input_mask
,
label_ids
)
total_tr_loss
+=
loss
.
sum
().
item
()
# sum() is to account for multi-gpu support.
loss
=
loss
.
mean
()
# sum() is to account for multi-gpu support.
tr_loss
+=
loss
.
item
()
nb_tr_examples
+=
input_ids
.
size
(
0
)
model
.
zero_grad
()
loss
.
sum
().
backward
()
# sum() is to account for multi-gpu support.
loss
.
backward
()
optimizer
.
step
()
global_step
+=
1
nb_tr_steps
+=
1
if
args
.
do_eval
:
eval_examples
=
processor
.
get_dev_examples
(
args
.
data_dir
)
...
...
@@ -567,9 +570,8 @@ def main():
eval_dataloader
=
DataLoader
(
eval_data
,
sampler
=
eval_sampler
,
batch_size
=
args
.
eval_batch_size
)
model
.
eval
()
eval_loss
=
0
eval_accuracy
=
0
nb_eval_examples
=
0
eval_loss
,
eval_accuracy
=
0
,
0
nb_eval_steps
,
nb_eval_examples
=
0
for
input_ids
,
input_mask
,
segment_ids
,
label_ids
in
eval_dataloader
:
input_ids
=
input_ids
.
to
(
device
)
input_mask
=
input_mask
.
float
().
to
(
device
)
...
...
@@ -582,18 +584,19 @@ def main():
label_ids
=
label_ids
.
to
(
'cpu'
).
numpy
()
tmp_eval_accuracy
=
accuracy
(
logits
,
label_ids
)
eval_loss
+=
tmp_eval_loss
.
sum
().
item
()
eval_loss
+=
tmp_eval_loss
.
mean
().
item
()
eval_accuracy
+=
tmp_eval_accuracy
nb_eval_examples
+=
input_ids
.
size
(
0
)
nb_eval_steps
+=
1
eval_loss
=
eval_loss
/
nb_eval_
example
s
#len(eval_dataloader)
eval_loss
=
eval_loss
/
nb_eval_
step
s
#len(eval_dataloader)
eval_accuracy
=
eval_accuracy
/
nb_eval_examples
#len(eval_dataloader)
result
=
{
'eval_loss'
:
eval_loss
,
'eval_accuracy'
:
eval_accuracy
,
'global_step'
:
global_step
,
'loss'
:
total_
tr_loss
/
nb_tr_
example
s
}
#'loss': loss.item()}
'loss'
:
tr_loss
/
nb_tr_
step
s
}
#'loss': loss.item()}
output_eval_file
=
os
.
path
.
join
(
args
.
output_dir
,
"eval_results.txt"
)
with
open
(
output_eval_file
,
"w"
)
as
writer
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment