Skip to content

Commit 0b5d7c8

Browse files
committed
Upload ToC
1 parent 3a8d1be commit 0b5d7c8

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

chapter_programming_model/index.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Programming Model
2+
3+
Machine learning frameworks comprise various components that facilitate
4+
the efficient development of algorithms, data processing, model
5+
deployment, performance optimization, and hardware acceleration. When
6+
designing the application programming interfaces (APIs) for these
7+
components, a key consideration is striking the right balance between
8+
framework performance and usability. To achieve optimal performance,
9+
developers utilize C or C++, as these programming languages enable
10+
efficient invocation of the APIs provided by the operating system and
11+
hardware accelerators.
12+
13+
Regarding usability, machine learning framework users, including data
14+
scientists, biologists, chemists, and physicists, often possess strong
15+
industrial backgrounds and are skilled in using high-level scripting
16+
languages like Python, Matlab, R, and Julia. While these languages offer
17+
remarkable programming usability, they lack deep optimization
18+
capabilities for underlying hardware or operating systems compared to C
19+
and C++. Therefore, the core design objective of machine learning
20+
frameworks encompasses two aspects: providing easy-to-use APIs for
21+
implementing algorithms using high-level languages like Python, and
22+
providing low-level APIs centered around C and C++ to assist framework
23+
developers in implementing numerous high-performance components and
24+
efficiently executing them on hardware. This chapter describes
25+
strategies for achieving this design objective.
26+
27+
The chapter aims to achieve the following learning objectives:
28+
29+
1. Understanding the workflows and programming principles of machine
30+
learning frameworks.
31+
32+
2. Understanding the design of neural network models and layers.
33+
34+
3. Understanding how machine learning frameworks bridge Python and
35+
C/C++ functions.
36+
37+
4. Understanding the support for functional programming in machine
38+
learning frameworks.

0 commit comments

Comments
 (0)