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
Missing __name__ = '__main__' guard for Multiprocessing on windows #185
Comments
As it's a very long error, I decided to post it in a separate comment (so you can delete it if not needed):
|
This looks like a windows error related to the parallelization. can you try to run the same snippet on a linux or mac os machine? I do not have access to any windows machine, so I can not debug this. |
Your first snippet is causing error because tsfresh thinks that the time stamp column is a time series columns and is expecting floats instead of time stamps. However the second one is passing. |
I don't know if @jneuff or @nils-braun have a windows machine at their hand but I doubt it :D :D |
I have tried this on a Windows 10 machine with the same results. Thanks in advance, |
Hi @ShahuN-107, finally I succeeded in setting up a windows environment. :D The solution for your problem seems rather simple as explained here.
Nevertheless, there is a failure when converting string to float, but this is not related to this issue. Cheers, |
Thanks @moritzgelb, so you are now the tsfresh expert for windows? :D |
Yes, seems so. :D |
I think we should fix that globally: See those threads http://stackoverflow.com/questions/39468658/figure-out-if-called-from-function-without-main-guard So, the multiprocessing library is spawning infinite child processes in a loop in windows. We should be able to catch that with a name = 'main' guard somewhere. However, I still have to think about where to put that guard. Maybe you got some ideas @moritzgelb @jneuff @nils-braun |
I'm not sure if we should take care of this. As stated in the links you quoted, the multiprocessing failure on window can be avoided by using |
I think the user experience suffers if one has to wrap the tsfresh calls by the |
I totally agree Max, that the user experience suffers, but as far as I have understood it is just technically not possible to do this on the library level. The script that calls |
@MaxBenChrist |
Okay, I understand that a Maybe we can inspect the trace inside So let us keep this issue open until we have a technical argumentation why it is impossible to substitute the guard lock in the top level script |
guys, what do you think of having a check when tsfresh is imported and trigger a warning if windows is detected? In this warning we can recommend the main lock. |
Hey there, just to let you know: I just spent half a day trying to fix this for my case. Although this is not an issue of this package, I think it's important to mention it in the documentation. My solution: Put everything in the file you're running within an This worked for me, although not via IPython console, only via command line. |
It is written in the FAQs. If this is still a problem for users and we need to make it more clear, feel free to reopen. |
Got this error on macOS, conda, python3.8 (with or without main) - works in python3.6 though |
Got the same error on Windows 10 even using Anaconda. The error is related to multiprocessing. |
Hi All,
I've got the following problem:
(have many more similar, but just uploading one)
CV_50_100.zip
Also breaks with:
I've spoken to @ MaxBenChrist on Gitter, he suggested opening this.
Edit: Typo in tsfresh version.
The text was updated successfully, but these errors were encountered: