-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature improving request (srl_zoo)] Around 30% speed-up by changing few lines code #46
Comments
This is unexpected, but why not if the result is the same. |
Agreed ! I was shocked when I discovered this. Do you have any idea how this happens ? I guess it's related to the multiprocessing ? |
I couldn't reproduce your results... minimal code: import numpy as np
def prepro(x, mode='one'):
x /= 255.
if mode == 'one':
x -= 0.5
x *= 2.
else:
x[..., 0] -= 0.5
x[..., 1] -= 0.5
x[..., 2] -= 0.5
x[..., 0] *= 2.
x[..., 1] *= 2.
x[..., 2] *= 2.
return x
image = 255. * np.random.random((224, 224, 3))
a = prepro(image.copy())
b = prepro(image.copy(), mode='test')
assert np.allclose(a, b) and in a ipython console:
|
Yes, I agree that these two methods alone are the same (in term of results and timing), but when you call it with the data_loader.py (please change the scripts as I described above) then the elapsed time is significant different ! That's why I guess the problem is related to multiprocessing. |
Problem description
In the current (origin/master) version, there are two preprocessing mode: 1. 'tf' and 2. 'image_net'. I have noticed that with the some device/python environment/encoder model/robot environment etc, the option 'image_net' provide 30% speed-up compared to 'tf'.
Reproduce the problem
$ python -m environments.dataset_generator --env MobileRobotGymEnv-v0 --name mobile2D_fixed_tar_seed_0 --seed 0 --num-cpu 8
$ python train.py --data-folder mobile2D_fixed_tar_seed_0 --losses autoencoder
With the original version of srl_zoo, the training time per epoch of autoencoder (under 'tf' mode) is about 43s on my computer and with the following modification, the time reduces to 31s.
Solution
I propose to change the script srl_zoo/preprocessing/utils.py (both the functions preprocessInput and deNormalize.
deNormalize is similar.
The text was updated successfully, but these errors were encountered: