{"action":"created","issue":{"url":"https://api.github.com/repos/mila-udem/blocks/issues/737","labels_url":"https://api.github.com/repos/mila-udem/blocks/issues/737/labels{/name}","comments_url":"https://api.github.com/repos/mila-udem/blocks/issues/737/comments","events_url":"https://api.github.com/repos/mila-udem/blocks/issues/737/events","html_url":"https://github.com/mila-udem/blocks/issues/737","id":91604862,"number":737,"title":"new pickler causes RuntimeError when pickling","user":{"login":"dribnet","id":945979,"avatar_url":"https://avatars.githubusercontent.com/u/945979?v=3","gravatar_id":"","url":"https://api.github.com/users/dribnet","html_url":"https://github.com/dribnet","followers_url":"https://api.github.com/users/dribnet/followers","following_url":"https://api.github.com/users/dribnet/following{/other_user}","gists_url":"https://api.github.com/users/dribnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dribnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dribnet/subscriptions","organizations_url":"https://api.github.com/users/dribnet/orgs","repos_url":"https://api.github.com/users/dribnet/repos","events_url":"https://api.github.com/users/dribnet/events{/privacy}","received_events_url":"https://api.github.com/users/dribnet/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-06-28T14:24:27Z","updated_at":"2015-06-29T16:56:15Z","closed_at":null,"body":"The new main loop object pickler introduced in mila-udem/blocks#615 causes `RuntimeError: maximum recursion depth exceeded ` on some downstream models. A current workaround is a custom Checkpoint subclass that skips pickling of the main loop object. So a minimal suggestion would be to offer an argument to the Checkpoint class to allow pickling of the main loop object to be similarly skipped.\r\n"},"comment":{"url":"https://api.github.com/repos/mila-udem/blocks/issues/comments/116760442","html_url":"https://github.com/mila-udem/blocks/issues/737#issuecomment-116760442","issue_url":"https://api.github.com/repos/mila-udem/blocks/issues/737","id":116760442,"user":{"login":"dmitriy-serdyuk","id":2872615,"avatar_url":"https://avatars.githubusercontent.com/u/2872615?v=3","gravatar_id":"","url":"https://api.github.com/users/dmitriy-serdyuk","html_url":"https://github.com/dmitriy-serdyuk","followers_url":"https://api.github.com/users/dmitriy-serdyuk/followers","following_url":"https://api.github.com/users/dmitriy-serdyuk/following{/other_user}","gists_url":"https://api.github.com/users/dmitriy-serdyuk/gists{/gist_id}","starred_url":"https://api.github.com/users/dmitriy-serdyuk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmitriy-serdyuk/subscriptions","organizations_url":"https://api.github.com/users/dmitriy-serdyuk/orgs","repos_url":"https://api.github.com/users/dmitriy-serdyuk/repos","events_url":"https://api.github.com/users/dmitriy-serdyuk/events{/privacy}","received_events_url":"https://api.github.com/users/dmitriy-serdyuk/received_events","type":"User","site_admin":false},"created_at":"2015-06-29T16:56:15Z","updated_at":"2015-06-29T16:56:15Z","body":"@dribnet , basically, the main loop contains three parts: log, iteration state, and model with parameters. \r\n\r\n- Try to check if you are writing big objects to the log or lots of small objects. A workaround may be to use an sqlite backend for the log.\r\n- Make sure, that you don't save your dataset (I've seen several people who did it) we have `fuel.utils.do_not_pickle_attributes` decorator for that. You can also use it any other class which contains data which you don't like to pickle. Another issue with the iteration state may be that you use some sophisticated transformers which cache data, for example. "}}