{"action":"created","issue":{"url":"https://api.github.com/repos/TensorVision/TensorVision/issues/6","repository_url":"https://api.github.com/repos/TensorVision/TensorVision","labels_url":"https://api.github.com/repos/TensorVision/TensorVision/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/TensorVision/TensorVision/issues/6/comments","events_url":"https://api.github.com/repos/TensorVision/TensorVision/issues/6/events","html_url":"https://github.com/TensorVision/TensorVision/issues/6","id":150471186,"number":6,"title":"Position of Config.py","user":{"login":"MarvinTeichmann","id":2729159,"avatar_url":"https://avatars.githubusercontent.com/u/2729159?v=3","gravatar_id":"","url":"https://api.github.com/users/MarvinTeichmann","html_url":"https://github.com/MarvinTeichmann","followers_url":"https://api.github.com/users/MarvinTeichmann/followers","following_url":"https://api.github.com/users/MarvinTeichmann/following{/other_user}","gists_url":"https://api.github.com/users/MarvinTeichmann/gists{/gist_id}","starred_url":"https://api.github.com/users/MarvinTeichmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarvinTeichmann/subscriptions","organizations_url":"https://api.github.com/users/MarvinTeichmann/orgs","repos_url":"https://api.github.com/users/MarvinTeichmann/repos","events_url":"https://api.github.com/users/MarvinTeichmann/events{/privacy}","received_events_url":"https://api.github.com/users/MarvinTeichmann/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2016-04-22T21:04:54Z","updated_at":"2016-05-05T16:21:21Z","closed_at":null,"body":"Commit 0266779a4ad248aaa97afd476f168d1237b01b09 puts `config.py` in the top project dir. I do like that position, however the installation script is not able to handle this. \r\n\r\nfe9417641232aa676ed234a3e6ce51fa49667552 therefore moves `config.py` to `tensorvision/config.py` and creates a symlink. This works but is not the most beautiful solution. Do we have any other options?"},"comment":{"url":"https://api.github.com/repos/TensorVision/TensorVision/issues/comments/217200217","html_url":"https://github.com/TensorVision/TensorVision/issues/6#issuecomment-217200217","issue_url":"https://api.github.com/repos/TensorVision/TensorVision/issues/6","id":217200217,"user":{"login":"MarvinTeichmann","id":2729159,"avatar_url":"https://avatars.githubusercontent.com/u/2729159?v=3","gravatar_id":"","url":"https://api.github.com/users/MarvinTeichmann","html_url":"https://github.com/MarvinTeichmann","followers_url":"https://api.github.com/users/MarvinTeichmann/followers","following_url":"https://api.github.com/users/MarvinTeichmann/following{/other_user}","gists_url":"https://api.github.com/users/MarvinTeichmann/gists{/gist_id}","starred_url":"https://api.github.com/users/MarvinTeichmann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MarvinTeichmann/subscriptions","organizations_url":"https://api.github.com/users/MarvinTeichmann/orgs","repos_url":"https://api.github.com/users/MarvinTeichmann/repos","events_url":"https://api.github.com/users/MarvinTeichmann/events{/privacy}","received_events_url":"https://api.github.com/users/MarvinTeichmann/received_events","type":"User","site_admin":false},"created_at":"2016-05-05T16:21:21Z","updated_at":"2016-05-05T16:21:21Z","body":"> I think we should get rid of config.py and convert it to environment variables.\r\n\r\nI do agree with that.\r\n\r\n> I don't know what you mean. Could you please explain that? Probably my latest pull request answers it?\r\n\r\nNo it does not. The nice think about the config.py is, that user can run environment specific python Code before the training starts. This did turn out to be very nice when running on clusters. [For example](https://github.com/MarvinTeichmann/KittiSeg/blob/master/config.py) create a flag which specifies the gpu to run on. In addition this flag can be made non-optional, avoiding accidentally runs on a wrong gpu.\r\n\r\nSure it is possible to \"hard\" code this use-case, adding an env-variable which forces the user to specify a gpu. But this is not the point, what I do like is the flexibility python configuration code is offering.  \r\n\r\n> https://doc.itc.rwth-aachen.de/display/CC/Limitations+within+the+GPU+cluster uses environment variables in a GPU cluster.\r\n\r\nI do not see how this changes the point. Firstly the user might want to (automatically) set those env variables inside TV. (So he can run multiple trainings without much effort). Additionally the computation infrastructure might differ between Institutes. Configuration code makes it easier for users to adapt to situation we did not anticipate. "}}