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
ModelZoo
ResNet50_tensorflow
Commits
ad34b621
Commit
ad34b621
authored
Mar 30, 2020
by
A. Unique TensorFlower
Browse files
Internal change
PiperOrigin-RevId: 303871250
parent
91717b1d
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
12 deletions
+38
-12
official/nlp/albert/run_squad.py
official/nlp/albert/run_squad.py
+33
-3
official/nlp/bert/run_squad.py
official/nlp/bert/run_squad.py
+5
-9
No files found.
official/nlp/albert/run_squad.py
View file @
ad34b621
...
@@ -19,9 +19,12 @@ from __future__ import division
...
@@ -19,9 +19,12 @@ from __future__ import division
from
__future__
import
print_function
from
__future__
import
print_function
import
json
import
json
import
os
import
time
from
absl
import
app
from
absl
import
app
from
absl
import
flags
from
absl
import
flags
from
absl
import
logging
import
tensorflow
as
tf
import
tensorflow
as
tf
from
official.nlp.albert
import
configs
as
albert_configs
from
official.nlp.albert
import
configs
as
albert_configs
...
@@ -53,7 +56,7 @@ def train_squad(strategy,
...
@@ -53,7 +56,7 @@ def train_squad(strategy,
def
predict_squad
(
strategy
,
input_meta_data
):
def
predict_squad
(
strategy
,
input_meta_data
):
"""Makes predictions for
a
squad dataset."""
"""Makes predictions for
the
squad dataset."""
bert_config
=
albert_configs
.
AlbertConfig
.
from_json_file
(
bert_config
=
albert_configs
.
AlbertConfig
.
from_json_file
(
FLAGS
.
bert_config_file
)
FLAGS
.
bert_config_file
)
tokenizer
=
tokenization
.
FullSentencePieceTokenizer
(
tokenizer
=
tokenization
.
FullSentencePieceTokenizer
(
...
@@ -63,6 +66,18 @@ def predict_squad(strategy, input_meta_data):
...
@@ -63,6 +66,18 @@ def predict_squad(strategy, input_meta_data):
bert_config
,
squad_lib_sp
)
bert_config
,
squad_lib_sp
)
def
eval_squad
(
strategy
,
input_meta_data
):
"""Evaluate on the squad dataset."""
bert_config
=
albert_configs
.
AlbertConfig
.
from_json_file
(
FLAGS
.
bert_config_file
)
tokenizer
=
tokenization
.
FullSentencePieceTokenizer
(
sp_model_file
=
FLAGS
.
sp_model_file
)
eval_metrics
=
run_squad_helper
.
eval_squad
(
strategy
,
input_meta_data
,
tokenizer
,
bert_config
,
squad_lib_sp
)
return
eval_metrics
def
export_squad
(
model_export_path
,
input_meta_data
):
def
export_squad
(
model_export_path
,
input_meta_data
):
"""Exports a trained model as a `SavedModel` for inference.
"""Exports a trained model as a `SavedModel` for inference.
...
@@ -97,10 +112,25 @@ def main(_):
...
@@ -97,10 +112,25 @@ def main(_):
num_gpus
=
FLAGS
.
num_gpus
,
num_gpus
=
FLAGS
.
num_gpus
,
all_reduce_alg
=
FLAGS
.
all_reduce_alg
,
all_reduce_alg
=
FLAGS
.
all_reduce_alg
,
tpu_address
=
FLAGS
.
tpu
)
tpu_address
=
FLAGS
.
tpu
)
if
FLAGS
.
mode
in
(
'train'
,
'train_and_predict'
):
if
'train'
in
FLAGS
.
mode
:
train_squad
(
strategy
,
input_meta_data
,
run_eagerly
=
FLAGS
.
run_eagerly
)
train_squad
(
strategy
,
input_meta_data
,
run_eagerly
=
FLAGS
.
run_eagerly
)
if
FLAGS
.
mode
in
(
'predict'
,
'train_and_predict'
)
:
if
'predict'
in
FLAGS
.
mode
:
predict_squad
(
strategy
,
input_meta_data
)
predict_squad
(
strategy
,
input_meta_data
)
if
'eval'
in
FLAGS
.
mode
:
eval_metrics
=
eval_squad
(
strategy
,
input_meta_data
)
f1_score
=
eval_metrics
[
'final_f1'
]
logging
.
info
(
'SQuAD eval F1-score: %f'
,
f1_score
)
summary_dir
=
os
.
path
.
join
(
FLAGS
.
model_dir
,
'summaries'
,
'eval'
)
summary_writer
=
tf
.
summary
.
create_file_writer
(
summary_dir
)
with
summary_writer
.
as_default
():
# TODO(lehou): write to the correct step number.
tf
.
summary
.
scalar
(
'F1-score'
,
f1_score
,
step
=
0
)
summary_writer
.
flush
()
# Also write eval_metrics to json file.
squad_lib_sp
.
write_to_json_files
(
eval_metrics
,
os
.
path
.
join
(
summary_dir
,
'eval_metrics.json'
))
time
.
sleep
(
60
)
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
...
...
official/nlp/bert/run_squad.py
View file @
ad34b621
...
@@ -20,7 +20,6 @@ from __future__ import print_function
...
@@ -20,7 +20,6 @@ from __future__ import print_function
import
json
import
json
import
os
import
os
import
tempfile
import
time
import
time
from
absl
import
app
from
absl
import
app
...
@@ -130,18 +129,15 @@ def main(_):
...
@@ -130,18 +129,15 @@ def main(_):
eval_metrics
=
eval_squad
(
strategy
,
input_meta_data
)
eval_metrics
=
eval_squad
(
strategy
,
input_meta_data
)
f1_score
=
eval_metrics
[
'final_f1'
]
f1_score
=
eval_metrics
[
'final_f1'
]
logging
.
info
(
'SQuAD eval F1-score: %f'
,
f1_score
)
logging
.
info
(
'SQuAD eval F1-score: %f'
,
f1_score
)
if
(
not
strategy
)
or
strategy
.
extended
.
should_save_summary
:
summary_dir
=
os
.
path
.
join
(
FLAGS
.
model_dir
,
'summaries'
,
'eval'
)
summary_dir
=
os
.
path
.
join
(
FLAGS
.
model_dir
,
'summaries'
)
summary_writer
=
tf
.
summary
.
create_file_writer
(
summary_dir
)
else
:
summary_dir
=
tempfile
.
mkdtemp
()
summary_writer
=
tf
.
summary
.
create_file_writer
(
os
.
path
.
join
(
summary_dir
,
'eval'
))
with
summary_writer
.
as_default
():
with
summary_writer
.
as_default
():
# TODO(lehou): write to the correct step number.
# TODO(lehou): write to the correct step number.
tf
.
summary
.
scalar
(
'F1-score'
,
f1_score
,
step
=
0
)
tf
.
summary
.
scalar
(
'F1-score'
,
f1_score
,
step
=
0
)
summary_writer
.
flush
()
summary_writer
.
flush
()
# Wait for some time, for the depending mldash/tensorboard jobs to finish
# Also write eval_metrics to json file.
# exporting the final F1-score.
squad_lib_wp
.
write_to_json_files
(
eval_metrics
,
os
.
path
.
join
(
summary_dir
,
'eval_metrics.json'
))
time
.
sleep
(
60
)
time
.
sleep
(
60
)
...
...
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