Comments (10)
I agree, we should check how to make it be quiet by default.
from platalea.
According to (wandb/wandb#764 (comment)), you can completely disable & silence wandb, making all calls to the package a noop without raising exceptions. This can be done by running:
wandb disabled
I think this should be enough. It doesn't seem simple to somehow make disabling wandb part of Platalea's installation procedure in order to make it disabled by default. It would make sense to make it part of the documentation I guess or to point to the command above in a print message. I'm not sure what would make the most sense. Any ideas? (adding help wanted
label)
from platalea.
Let's implement both options ot inform user of how to disable wandb:
- comment in readme
- print in output when running the code
from platalea.
I don't know how I missed that but according to wandb/wandb#764 (comment), it seems possilbe to set the mode in the code when initializing wandb. It would be nice to add q parameter to set this which would be set to disabled
by default. I am using platalea for another project and asking people to disable wandb manually is cumbersome.
I'll see if I can work on that today.
from platalea.
One limit of using a command line parameter (e.g. wandb_mode
) is that we override wandb functionalities (such as using the command wandb offline
or setting the environment variable WANDB_MODE
. I need to see whether there is a better way to handle this.
from platalea.
Overriding is maybe not too bad. I would be fine with just adding '--wand_mode on' with every run.
from platalea.
I tried to find a way to just set disabled
as the default instead of online
but there is no way to know for sure whether the value online
is the default and can be overwritten or has been set explicitly by the user. Also having a global option --wandb_mode
seems redundant.
One solution that seems better to me is to transfer the responsability of this to the experiment script (e.g. basic.py). By adding a parameter to the experiment
function, we can decide how to handle this for each experiment (keep the current behavior, disable completely wandb, add an experiment-specific switch). This way, in the experiment I will use for the zerospeech challenge I can just disable it by default.
from platalea.
Maybe also allow running experiments without installing it.
from platalea.
Maybe also allow running experiments without installing it.
We can make it an optional dependency. Then, instead of importing, we can do something like this (wrapped in a function perhaps so we don't have to repeat everywhere):
try:
import wandb
except ImportError:
class PassClass:
def __getattr__(self, name):
def dummy_func(*args, **kwargs):
pass
return dummy_func
wandb = PassClass()
This way, when the module is not installed, wandb.anything(something, whatever=bla)
will just pass
, i.e. do nothing. So all the wandb.function()
calls can just stay in and don't have to be wrapped in if
statements.
from platalea.
First part (disabling by default) has been implemented in the branch zerospeech21-vg.
from platalea.
Related Issues (20)
- Reproduce label_encoders.pkl HOT 3
- [ZRVG] CPC feature extraction
- Merge zerospeech21-vg branch? HOT 4
- add to RSD HOT 1
- Add issue template
- Create a conda package HOT 1
- Consider creating a conda channel HOT 1
- Use static analysis/code quality service HOT 2
- Description of the software HOT 1
- Supported platform HOT 1
- Add code of conduct
- Add code documentation HOT 1
- No help message when mandatory argument is missing. HOT 2
- CI fails HOT 3
- Test case with SpokenCOCO dataset
- Store dtype in metadata of memmap
- Versioning, releasing, DOI, Zenodo HOT 7
- Linting
- Fix warnings about code quality
- Add reference documentation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from platalea.