CLUEbenchmark / CLUE

中文语言理解测评基准 Chinese Language Understanding Evaluation Benchmark: datasets, baselines, pre-trained models, corpus and leaderboard
http://www.CLUEbenchmarks.com
4k stars 540 forks source link

Performance issue in baselines/models/xlnet/data_utils.py #124

Open DLPerf opened 3 years ago

DLPerf commented 3 years ago

Hello! I've found a performance issue in baselines/models/xlnet/data_utils.py: dataset = dataset.batch(bsz_per_core, drop_remainder=True)(here) should be called before dataset = dataset.cache().map(parser).repeat()(here), which could make your program more efficient.

Here is the tensorflow document to support it.

To reproduce the behavior, you need to swap the order of dataset = dataset.batch(bsz_per_core, drop_remainder=True) and dataset = dataset.cache().map(parser).repeat() in data_utils.py. Besides, you need to check the function parser(here) called in dataset = dataset.cache().map(parser).repeat() whether to be affected or not to make the changed code work properly. For example, if parser needs data with shape (x, y, z) as its input before fix, it would require data with shape (batch_size, x, y, z) after fix.

Looking forward to your reply. Btw, I am very glad to create a PR to fix it if you are too busy.

DLPerf commented 3 years ago

Hello, I'm looking forward to your reply~

brightmart commented 3 years ago

yes, please create a PR. thanks