3 ms·
As a longtime user of Python for ML/AI, I love Julia... but agree that most people will find Julia challenging to use for everyday data munging, or for developi
by cs702 5y ago
As a longtime user of Python for ML/AI, I love Julia... but agree that most people will find Julia challenging to use for everyday data munging, or for developing production code, say, in a business environment. The Python ecosystem (people, resources, libraries, frameworks, etc.) is superior for most common, plain-vanilla use cases.
However, if you are developing compute-intensive scientific software, I would recommend switching to Julia as soon as possible. IMHO, Julia is superior to the likes of Python, Fortran, C++, and C for those use cases.
--
PS. By the way, you can fix matplotlib's suptitle issue by calling this Figure method after the fact:
fig.tight_layout(rect=(0, 0, 1, 0.95)) # leaves 5% of top space for suptitle
- savant_penguin 5y agoFor many compute intensive tasks Julia beats the competition hands down. I got to use for loops again and it feels wonderful (in python you either write it as some numpy operation out meddle with numba to run with some speed) But many of the "main" ml packages are written in actual fast languages and are well optimized so python's inefficiencies can be mostly ignored (pytorch/tensorflow/catboost are really fast. Sklearn is decent and statsmodels is dead slow) But again if need some specific image processing algorithm you either have to hope for it to be implemented in c++ with python bindings (like opencv) or you are in for a world of pain. With Julia you can just count on it to be fast and implement it yourself natively
- cs702 5y ago> you either have to hope for it to be implemented in c++ with python bindings (like opencv) or you are in for a world of pain. Yes, I agree -- Julia is superior for scientific research -- including developing or working with new, cutting-edge algorithms that are not yet implemented in any third-party library. That said, if one is willing to do a bit of upfront work, in many and perhaps a majority of cases, it's possible to implement new algorithms/ideas in terms of tensor/matrix/vector operations, i.e., using fast library primitives instead of resorting to slow Python loops.