Giter Site home page Giter Site logo

Comments (6)

CM-BF avatar CM-BF commented on June 7, 2024

Hi, GentleZhu,

The 10 random runs can be run by setting the exp_round argument. The 10 random runs in the paper are under the setting of exp_round from 1 to 10.

Please let me know if any questions.

from good.

GentleZhu avatar GentleZhu commented on June 7, 2024

I found even I set this parameter and config.exp_round>1, the goodtg or load_task function only run for one round.

from good.

GentleZhu avatar GentleZhu commented on June 7, 2024

Your code seems to only store different round in a separate folder under storage.

from good.

LFhase avatar LFhase commented on June 7, 2024

Hi Gentle Zhu and GOOD team, I have a similar question. It seems we have to manually check each folder from different rounds. Is there any convenient way to aggregate the results?

from good.

CM-BF avatar CM-BF commented on June 7, 2024

Hi!

I found even I set this parameter and config.exp_round>1, the goodtg or load_task function only run for one round.

That's true because we generally run goodtg in parallel. That is we use a simple script to launch all rounds simultaneously on different GPUs.

For example, you may generate the following commands, and pack them into a list cmd_args.

goodtg --exp_round 1 --gpu_idx 0--config_file XXX
goodtg --exp_round 2 --gpu_idx 1--config_file XXX
...
goodtg --exp_round 10 --gpu_idx 9 --config_file XXX

After that, you may find the use of package subprocess helpful.

cmd_args = [XXX, ..., XXX]
subprocess.Popen(shlex.split(cmd_args), close_fds=True, stdout=open('debug_out.log', 'a'), stderr=open('debug_error.log', 'a'), start_new_session=False)

I believe the way to launch your programs on GPUs also depends on your experiment environment (If one is sharing computation resources with others, one cannot launch one's programs aggressively).

Because the results are fully stored, you can aggregate all results after finishing running.

BTW, if you only need to run experiments sequentially, you may find reproduce_round1 useful.

It seems we have to manually check each folder from different rounds. Is there any convenient way to aggregate the results?

Since the log file saving paths (structures) are fully based on your config parameters according to log settings, we don't need to manually check the outcomes. After experiments are completed, another script is needed to read all results. Note that to facilitate reading these results, there is a special line at the end of each log file as the result conclusions.

You can set the --log_file param1_param2_param3 to store results for different hyper-parameters.

(Another way to aggregate results is to read the information stored in model checkpoints. (uncommon))

We will share some convenient scripts after we reorganize these scripts for more general purposes.

Please let me know if any questions.:smile:

from good.

CM-BF avatar CM-BF commented on June 7, 2024

Hi GentleZhu,

We have updated this project to version 1. You can now launch multiple jobs and collect their results easily. Please refer to the new README.

Please let me know if any questions.

from good.

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.