Possible Bug in get_query_strategy/query_labels.py Line 1279-1285
When I use QueryInstanceSPAL to replace the "strategy" parameter in "al.set_query_strategy(strategy)", this line "al.start_query(multi_thread=True)" can not be done because in multi_thread model, pickle.dump would throw an error, namely 'TypeError: can't pickle module objects error'. So, I suggest that "import cvxpy" is located at the out of the class to avoid that. "cvxpy" can be treated as a basic dependency.
Hey, Thanks for reporting this issue.
Actually, we have noticed about the pickle problem and fixed it in the dev branch by adding __setstate__() and __getstate__() methods to avoid raising when pickling SPAL and BMDR object.
For the multi_thread problem, we are still looking for a solution. For now, please set multi_thread=False if you are using a multi_thread model.
To install cvxpy, a C compiler is needed which may not be installed by everyone in Windows platform. So we make it an optional dependency because only SPAL and BMDR methods depend on this package.