Code Monkey home page Code Monkey logo

Comments (27)

chesterkuo avatar chesterkuo commented on August 23, 2024 2

Exact Match: 70.8136234626, F1: 80.0760742304

with following parameter.
--hidden=128 --num_heads=8 --checkpoint=2000 --num_steps=60000 --learning_rate=0.001 --batch_size=32

from qanet.

ajay-sreeram avatar ajay-sreeram commented on August 23, 2024 1

EM: 68.60, F1: 78.16

Results obtained with CPU(8GB ram), ran for 4 and 1/2 days
Using all default parameters but Glove42B and 35K steps instead

from qanet.

 avatar commented on August 23, 2024

Great, thanks! Updating README.md now. As for overfitting, you can observe the dev loss going up after about 60k steps from the Tensorboard summary.

from qanet.

jasonwbw avatar jasonwbw commented on August 23, 2024

Ok, the F1 and EM curves on the dev set oscillate after 30k steps, but the loss curve keeps on a rise after that. Unfortunately, I have just saved the last five checkpoints.

from qanet.

raisudeen avatar raisudeen commented on August 23, 2024

@jasonwbw Can you please share the trained model if possible? So that, it will be useful for all. Thanks in advance.
-Raisudeen.

from qanet.

 avatar commented on August 23, 2024

Empirically, I found early stopping to be not beneficial to gaining maximum performance (possibly due to early stopping not letting exponential moving average to stabilize) so I am increasing the maximum patience from 3 to 10.

from qanet.

jasonwbw avatar jasonwbw commented on August 23, 2024

@raisudeen Sorry for the late replay due to the vacation. Checkpoints obtained by TF 1.4

from qanet.

localminimum avatar localminimum commented on August 23, 2024

Hi @chesterkuo , is your result above obtained after this commit? f0c79cc
Thanks for reporting your results on CPU @ajay-sreeram! That is some impressive patience. I talked to the original paper authors and they saw a performance increase after using Glove800B over 42B. Is there a reason why you used 42B?

from qanet.

ajay-sreeram avatar ajay-sreeram commented on August 23, 2024

Hi @localminimum , I am happy to see such a good performance results from re-implementation of QANet paper. To know the model performance with weaker embedding, I tried using Glove42B. Yes the results show that there is a decrease in the performance but that is not much, this proves the strength of QANet again.

Word Embedding Training Steps EM F1
Glove840B 35,000 69.0 78.6
Glove42B 35,000 68.6 78.1

from qanet.

chesterkuo avatar chesterkuo commented on August 23, 2024

@localminimum , yes, based on new changed with Glove "glove.840B.300d"

from qanet.

PhungVanDuy avatar PhungVanDuy commented on August 23, 2024

@jasonwbw I tried to use your checkpoint but I got an error following:

image
Can you tell me how to use your checkpoint?
Thanks you!
@ajay-sreeram Can you please share the checkpoint? Thanks.

from qanet.

jasonwbw avatar jasonwbw commented on August 23, 2024

@PhungVanDuy Firstly, I feel sorry that I have forgot to report some details, I obtain this results upon TF 1.4 instead of 1.5, and I report the results before commit f0c79cc.
Then I wonder that you have forgot to set save_path in the config.py according to your error.
And the path should be train_dir/model_name/model by default.

from qanet.

PhungVanDuy avatar PhungVanDuy commented on August 23, 2024

@jasonwbw Thanks for your support. I have used your checkpoint, however, the result not makes sense, here is my screenshot!
image
EM: 0.331122
F1: 7.059
Can you explain to me about it!
Thanks

from qanet.

localminimum avatar localminimum commented on August 23, 2024

Hi @PhungVanDuy , it seems like you are using the latest commit. @jasonwbw mentioned in the previous comment that he used the model before commit f0c79cc. You could revert back to the previous commit and try again. The performance fluctuation would be most likely due to my latest commit, removing the activation function from the highway layers. The input distribution will be very different without the relu activation and the highway layers won't have a single clue how to deal with the unseen distribution.

from qanet.

PhungVanDuy avatar PhungVanDuy commented on August 23, 2024

@localminimum Thanks for your reply, I tried going back commit bb5769d (git reset --hard bb5769d) and run test. But I got an error following:
image

I save checkpoint in the default folder (train/FRC/model and checkpoint file: model_checkpoint_path: "model_60000_ckpt") and using tensorflow 1.4 as @jasonwbw mentioned.

@localminimum can you share for me lastest checkpoint of this repos?

from qanet.

jasonwbw avatar jasonwbw commented on August 23, 2024

@PhungVanDuy maybe hidden size should be set to 128 in config.

from qanet.

PhungVanDuy avatar PhungVanDuy commented on August 23, 2024

@jasonwbw I knew it but still error! Can you share your source code stable for the checkpoint? I would be very grateful for that. I am looking forward to your reply.

from qanet.

localminimum avatar localminimum commented on August 23, 2024

@PhungVanDuy can you post the error you get here?

from qanet.

PhungVanDuy avatar PhungVanDuy commented on August 23, 2024

@localminimum I reproduce the checkpoint of @jasonwbw with commit bb5769d (git reset --hard bb5769d).
I put the checkpoint to default folder: train/FRC/model.
And then I got an error:

Loading model...
Total number of trainable parameters: 1295938
2018-05-09 00:32:32.496830: I tensorflow/core/platform/cpu_feature_guard.cc:137] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
2018-05-09 00:32:36.431273: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Context_to_Query_Attention_Layer/trilinear/trilinear/linear_bias/ExponentialMovingAverage not found in checkpoint
2018-05-09 00:32:36.432023: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Context_to_Query_Attention_Layer/trilinear/trilinear/linear_kernel/ExponentialMovingAverage not found in checkpoint
2018-05-09 00:32:36.432842: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Context_to_Query_Attention_Layer/trilinear/trilinear/linear_kernel not found in checkpoint
2018-05-09 00:32:36.434867: W tensorflow/core/framework/op_kernel.cc:1192] Not found: Key Context_to_Query_Attention_Layer/trilinear/trilinear/linear_bias not found in checkpoint
Traceback (most recent call last):
File "config.py", line 145, in <module>
tf.app.run()
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "config.py", line 136, in main
test(config)
File "/mnt/hdd1/pvduy/QA/Try/QANet/main.py", line 159, in test
saver.restore(sess, tf.train.latest_checkpoint(config.save_dir))
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1666, in restore
{self.saver_def.filename_tensor_name: save_path})
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 889, in run
	run_metadata_ptr)
	File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1120, in _run
		feed_dict_tensor, options, run_metadata)
		File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1317, in _do_run
		options, run_metadata)
			File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1336, in _do_call
			raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.NotFoundError: Key Context_to_Query_Attention_Layer/trilinear/trilinear/linear_bias/ExponentialMovingAverage not found in checkpoint
	[[Node: save/RestoreV2_9 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2_9/tensor_names, save/RestoreV2_9/shape_and_slices)]]

	Caused by op u'save/RestoreV2_9', defined at:
	File "config.py", line 145, in <module>
	tf.app.run()
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "config.py", line 136, in main
test(config)
File "/mnt/hdd1/pvduy/QA/Try/QANet/main.py", line 158, in test
saver = tf.train.Saver()
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1218, in __init__
self.build()
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1227, in build
self._build(self._filename, build_save=True, build_restore=True)
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 1263, in _build
build_save=build_save, build_restore=build_restore)
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 751, in _build_internal
	restore_sequentially, reshape)
	File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 427, in _AddRestoreOps
		tensors = self.restore_op(filename_tensor, saveable, preferred_shard)
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/training/saver.py", line 267, in restore_op
[spec.tensor.dtype])[0])
File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/ops/gen_io_ops.py", line 1021, in restore_v2
	shape_and_slices=shape_and_slices, dtypes=dtypes, name=name)
		File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
			op_def=op_def)
			File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2956, in create_op
			op_def=op_def)
				File "/mnt/hdd1/pvduy/vlen2new/local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1470, in __init__
				self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

				NotFoundError (see above for traceback): Key Context_to_Query_Attention_Layer/trilinear/trilinear/linear_bias/ExponentialMovingAverage not found in checkpoint
										[[Node: save/RestoreV2_9 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2_9/tensor_names, save/RestoreV2_9/shape_and_slices)]]

My system:

  • Python: 2.7
  • Tensorflow: 1.4.0

from qanet.

localminimum avatar localminimum commented on August 23, 2024

@jasonwbw looking at the error above, did you use the old trilinear function for the pretrained model above? It seems like the optimised trilinear function exponential moving average is missing.

from qanet.

localminimum avatar localminimum commented on August 23, 2024

@PhungVanDuy comment out the old trilinear function as it is in the latest commit. Only use the optimied trilinear function and try again. It seems like you are trying to load weights that are not present in the checkpoints which belong to the old trilinear function.

from qanet.

PhungVanDuy avatar PhungVanDuy commented on August 23, 2024

@localminimum Thank you for your supports I solved it!
image

from qanet.

gowthamrang avatar gowthamrang commented on August 23, 2024

Great work folks! :)This information is very helpful. One other piece of information that would help some audience, I guess, is the time taken for inference. @jasonwbw , @ajay-sreeram (CPU), @chesterkuo ?

  • thank you :)

from qanet.

GuoYL36 avatar GuoYL36 commented on August 23, 2024

Hi, I use all default parameters and get results worse than that you presented.
EM: 67.975, F1: 78.015 with following parameter.
--hidden=96 --num_heads=1 --num_steps=35000
I don't know why it happens?

from qanet.

GuoYL36 avatar GuoYL36 commented on August 23, 2024

I try to modify the character embedding size to train again with following parameter
--hidden=96 --num_heads=1 --num_steps=35000 --char_emb_size=200(original paper using)
And I get the results: EM: 69.196, F1:78.66.

from qanet.

localminimum avatar localminimum commented on August 23, 2024

Hi @webdaren , is there a reason why you've trained specifically for 35000 steps? All the listed results are based on models trained for 60k steps or longer.

from qanet.

GuoYL36 avatar GuoYL36 commented on August 23, 2024

@localminimum Thank you for your answer! I just want to compare with the result of the first row in listed results. I get the result (EM: 67.975, F1: 78.015) worse than that in listed results when I used these parameters of the first row in listed results(specially, the value of char_emb_size is 64 in config.py).
Of course, I also train the model for 60K steps and get the result (EM: 67.8, F1: 77.82) worst than all results. And I will train the model for 60K steps using the modified value of char_emb_size (original paper using).

from qanet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.