MLG 010 Languages & Frameworks
Update: 2017-03-07
1
Description
Try a walking desk to stay healthy while you study or work!
Full notes at ocdevel.com/mlg/10
Topics:
-
Recommended Languages and Frameworks:
- Python and TensorFlow are top recommendations for machine learning.
- Python's versatile libraries (NumPy, Pandas, Scikit-Learn) enable it to cover all areas of data science including data mining, analytics, and machine learning.
-
Language Choices:
- C/C++: High performance, suitable for GPU optimization but not recommended unless already familiar.
- Math Languages (R, MATLAB, Octave, Julia): Optimized for mathematical operations, particularly R preferred for data analytics.
- JVM Languages (Java, Scala): Suited for scalable data pipelines (Hadoop, Spark).
-
Framework Details:
- TensorFlow: Comprehensive tool supporting a wide range of ML tasks; notably improves Python’s performance.
- Theano: First in symbolic graph framework, but losing popularity compared to newer frameworks.
- Torch: Initially favored for image recognition, now supports a Python API.
- Keras: High-level API running on top of TensorFlow or Theano for easier neural network construction.
- Scikit-learn: Good for shallow learning algorithms.
Comparisons:
- C++ vs Python in ML: C++ offers direct GPU access for performance, but Python streamlined performance with frameworks that auto-generate optimized C code.
- R and Python in Data Analytics: Python’s Pandas and NumPy rival R with a strong general-purpose application beyond analytics.
Considerations:
- Python’s Ecosystem Benefits: Single programming ecosystem spans full data science workflow, crucial for integrated projects.
- Emerging Trends: Keep an eye on Julia for future considerations in math-heavy operations and industry adoption.
Additional Notes:
- Hardware Recommendations:
- Utilize Nvidia GPUs for machine learning due to superior support and integration with CUDA and cuDNN.
- Learning Resources:
- TensorFlow's documentation and tutorials are highly recommended for learning due to their thoroughness and regular updates.
- Suggested learning order: Learn Python fundamentals, then proceed to TensorFlow.
Links
- Other languages like Node, Go, Rust: why not to use them.
- Best Programming Language for Machine Learning
- Data Science Job Report 2017
- An Overview of Python Deep Learning Frameworks
- Evaluation of Deep Learning Toolkits
- Comparing Frameworks: Deeplearning4j, Torch, Theano, TensorFlow, Caffe, Paddle, MxNet, Keras & CNTK - grain of salt, it's super heavy DL4J propaganda (written by them)
Comments
In Channel