├── README.md
├── img
├── ml-engineer.png
└── title.png
└── project-files
└── ml-engineer.json
/README.md:
--------------------------------------------------------------------------------
1 | # Machine Learning Engineer Roadmap in 2021
2 |
3 | > Roadmap to becoming a machine learning engineer in 2021, inspired by [web-developer-roadmap](https://github.com/kamranahmedse/developer-roadmap).
4 |
5 | Below you find a set of charts demonstrating the paths that you can take and the technologies that you would want to adopt in order to become a machine learning engineer. I made these charts for an old professor of mine who wanted something to share with his college students to give them a perspective; sharing them here to help the community.
6 |
7 | > Check out my [Github](https://github.com/chris-chris) and say "hi" on [Twitter](https://twitter.com/chris_loves_ai).
8 |
9 | ***
10 |
11 |
Purpose of these Roadmaps
12 |
13 | > The purpose of these roadmaps is to give you an idea about the landscape and to guide you if you are confused about what to learn next and not to encourage you to pick what is hip and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hip and trendy never means best suited for the job.
14 |
15 | Note to Beginners
16 |
17 | > These roadmaps cover everything that is there to learn for the paths listed below. Don't feel overwhelmed, you don't need to learn it all in the beginning if you are just getting started. We are working on the beginner versions of these and will release it soon after we are done with the 2021 release of roadmaps.
18 |
19 | ***
20 |
21 | If you think that these can be improved in any way, please do suggest.
22 |
23 | ## ML Engineer Roadmap
24 |
25 | 
26 |
27 | ## 🚦 Wrap Up
28 |
29 | If you think any of the roadmaps can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to watch/star this repository to revisit.
30 |
31 | ## 🙌 Contribution
32 |
33 | The roadmaps are built using [Balsamiq](https://balsamiq.com/products/mockups/). Project file can be found at `/project-files` directory. To modify any of the roadmaps, open Balsamiq, click **Project > Import > Mockup JSON**, it will open the roadmap for you, update it, upload and update the images in readme and create a PR.
34 |
35 | - Open pull request with improvements
36 | - Discuss ideas in issues
37 | - Spread the word
38 | - Reach out to me directly at sjhshy@gmail.com or [](https://twitter.com/chris_loves_ai)
39 |
40 | ## License
41 |
42 |
43 |
44 | The class is licensed under the [MIT License](http://opensource.org/licenses/MIT):
45 |
46 | Copyright © 2020 [Chris Song](http://www.github.com/chris_loves_ai).
47 |
48 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
49 |
50 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
51 |
52 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
53 |
--------------------------------------------------------------------------------
/img/ml-engineer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chris-chris/ml-engineer-roadmap/f97793ebf67459242fa6dff5146c939f802af7f9/img/ml-engineer.png
--------------------------------------------------------------------------------
/img/title.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chris-chris/ml-engineer-roadmap/f97793ebf67459242fa6dff5146c939f802af7f9/img/title.png
--------------------------------------------------------------------------------
/project-files/ml-engineer.json:
--------------------------------------------------------------------------------
1 | {
2 | "mockup": {
3 | "controls": {
4 | "control": [
5 | {
6 | "ID": "0",
7 | "typeID": "Label",
8 | "zOrder": "6",
9 | "measuredW": "187",
10 | "measuredH": "40",
11 | "x": "644",
12 | "y": "138",
13 | "properties": {
14 | "bold": "true",
15 | "size": "32",
16 | "text": "ML Engineer"
17 | }
18 | },
19 | {
20 | "ID": "1",
21 | "typeID": "Arrow",
22 | "zOrder": "7",
23 | "w": "14",
24 | "h": "105",
25 | "measuredW": "150",
26 | "measuredH": "100",
27 | "x": "708",
28 | "y": "30",
29 | "properties": {
30 | "color": "2848996",
31 | "curvature": "-1",
32 | "direction": "bottom",
33 | "leftArrow": "false",
34 | "p0": {
35 | "x": 2.153846153846154,
36 | "y": 0
37 | },
38 | "p1": {
39 | "x": 0.4656914408114247,
40 | "y": 0.11500440997371852
41 | },
42 | "p2": {
43 | "x": 0,
44 | "y": 104
45 | },
46 | "rightArrow": "false",
47 | "stroke": "dotted"
48 | }
49 | },
50 | {
51 | "ID": "2",
52 | "typeID": "Label",
53 | "zOrder": "8",
54 | "measuredW": "67",
55 | "measuredH": "25",
56 | "x": "159",
57 | "y": "44",
58 | "properties": {
59 | "bold": "true",
60 | "size": "17",
61 | "text": "Legends"
62 | }
63 | },
64 | {
65 | "ID": "3",
66 | "typeID": "TextInput",
67 | "zOrder": "9",
68 | "w": "240",
69 | "measuredW": "239",
70 | "measuredH": "32",
71 | "x": "159",
72 | "y": "81",
73 | "properties": {
74 | "align": "center",
75 | "color": "16776960",
76 | "size": "18",
77 | "text": "Personal Recommendation!"
78 | }
79 | },
80 | {
81 | "ID": "4",
82 | "typeID": "TextInput",
83 | "zOrder": "10",
84 | "w": "240",
85 | "measuredW": "109",
86 | "measuredH": "32",
87 | "x": "159",
88 | "y": "117",
89 | "properties": {
90 | "align": "center",
91 | "color": "15658734",
92 | "size": "18",
93 | "text": "Possibilities"
94 | }
95 | },
96 | {
97 | "ID": "5",
98 | "typeID": "TextInput",
99 | "zOrder": "11",
100 | "w": "240",
101 | "measuredW": "86",
102 | "measuredH": "32",
103 | "x": "159",
104 | "y": "153",
105 | "properties": {
106 | "align": "center",
107 | "color": "16770457",
108 | "size": "18",
109 | "text": "Pick any!"
110 | }
111 | },
112 | {
113 | "ID": "6",
114 | "typeID": "Arrow",
115 | "zOrder": "12",
116 | "w": "13",
117 | "h": "58",
118 | "measuredW": "150",
119 | "measuredH": "100",
120 | "x": "689",
121 | "y": "193",
122 | "properties": {
123 | "color": "2848996",
124 | "curvature": "-1",
125 | "leftArrow": "false",
126 | "p0": {
127 | "x": 3.25,
128 | "y": 0
129 | },
130 | "p1": {
131 | "x": 0.4614622793164176,
132 | "y": -0.1113105364704893
133 | },
134 | "p2": {
135 | "x": 11.916666666666668,
136 | "y": 57
137 | },
138 | "rightArrow": "false"
139 | }
140 | },
141 | {
142 | "ID": "7",
143 | "typeID": "Label",
144 | "zOrder": "13",
145 | "measuredW": "139",
146 | "measuredH": "26",
147 | "x": "690",
148 | "y": "260",
149 | "properties": {
150 | "bold": "true",
151 | "size": "18",
152 | "text": "Learn the Basics"
153 | }
154 | },
155 | {
156 | "ID": "8",
157 | "typeID": "Arrow",
158 | "zOrder": "14",
159 | "w": "14",
160 | "h": "57",
161 | "measuredW": "150",
162 | "measuredH": "100",
163 | "x": "721",
164 | "y": "298",
165 | "properties": {
166 | "color": "2848996",
167 | "curvature": "-1",
168 | "direction": "bottom",
169 | "leftArrow": "false",
170 | "p0": {
171 | "x": 0.22222222222222232,
172 | "y": 0
173 | },
174 | "p1": {
175 | "x": 0.47894873863173765,
176 | "y": 0.16302169329538116
177 | },
178 | "p2": {
179 | "x": 9.51338306820469,
180 | "y": 57.15077516754616
181 | }
182 | }
183 | },
184 | {
185 | "ID": "11",
186 | "typeID": "Icon",
187 | "zOrder": "15",
188 | "measuredW": "48",
189 | "measuredH": "48",
190 | "x": "705",
191 | "y": "323",
192 | "properties": {
193 | "color": "2848996",
194 | "icon": {
195 | "ID": "circle",
196 | "size": "large"
197 | }
198 | }
199 | },
200 | {
201 | "ID": "26",
202 | "typeID": "Arrow",
203 | "zOrder": "16",
204 | "w": "59",
205 | "h": "192",
206 | "measuredW": "150",
207 | "measuredH": "100",
208 | "x": "728",
209 | "y": "361",
210 | "properties": {
211 | "color": "2848996",
212 | "rightArrow": "false",
213 | "p0": {
214 | "x": 59,
215 | "y": 191.5
216 | },
217 | "p1": {
218 | "x": 0.47549979046335095,
219 | "y": 0.0098605490647926
220 | },
221 | "p2": {
222 | "x": 0.34782956108551843,
223 | "y": -0.0744154801360537
224 | }
225 | }
226 | },
227 | {
228 | "ID": "27",
229 | "typeID": "TextInput",
230 | "zOrder": "17",
231 | "w": "170",
232 | "measuredW": "155",
233 | "measuredH": "32",
234 | "x": "824",
235 | "y": "868",
236 | "properties": {
237 | "align": "center",
238 | "color": "16776960",
239 | "size": "18",
240 | "text": "Cloud Computing"
241 | }
242 | },
243 | {
244 | "ID": "30",
245 | "typeID": "TextInput",
246 | "zOrder": "18",
247 | "w": "202",
248 | "measuredW": "179",
249 | "measuredH": "32",
250 | "x": "439",
251 | "y": "758",
252 | "properties": {
253 | "align": "center",
254 | "color": "16776960",
255 | "size": "18",
256 | "text": "Model Management"
257 | }
258 | },
259 | {
260 | "ID": "31",
261 | "typeID": "TextInput",
262 | "zOrder": "19",
263 | "w": "175",
264 | "measuredW": "58",
265 | "measuredH": "32",
266 | "x": "822",
267 | "y": "738",
268 | "properties": {
269 | "align": "center",
270 | "color": "16776960",
271 | "text": "Linux",
272 | "size": "18"
273 | }
274 | },
275 | {
276 | "ID": "33",
277 | "typeID": "Arrow",
278 | "zOrder": "20",
279 | "w": "128",
280 | "h": "37",
281 | "measuredW": "150",
282 | "measuredH": "100",
283 | "x": "998",
284 | "y": "848",
285 | "properties": {
286 | "color": "2848996",
287 | "curvature": "0",
288 | "direction": "bottom",
289 | "rightArrow": "false",
290 | "p0": {
291 | "x": 127.61723827201149,
292 | "y": -0.1831220128962059
293 | },
294 | "p1": {
295 | "x": 0.4361630263454177,
296 | "y": -0.005854537266381474
297 | },
298 | "p2": {
299 | "x": 0,
300 | "y": 37
301 | }
302 | }
303 | },
304 | {
305 | "ID": "38",
306 | "typeID": "TextInput",
307 | "zOrder": "21",
308 | "w": "176",
309 | "measuredW": "73",
310 | "measuredH": "32",
311 | "x": "821",
312 | "y": "980",
313 | "properties": {
314 | "align": "center",
315 | "color": "16776960",
316 | "text": "Docker",
317 | "size": "18"
318 | }
319 | },
320 | {
321 | "ID": "42",
322 | "typeID": "TextInput",
323 | "zOrder": "22",
324 | "w": "141",
325 | "measuredW": "109",
326 | "measuredH": "32",
327 | "x": "814",
328 | "y": "1401",
329 | "properties": {
330 | "align": "center",
331 | "color": "16776960",
332 | "size": "18",
333 | "text": "Kubernetes"
334 | }
335 | },
336 | {
337 | "ID": "63",
338 | "typeID": "Arrow",
339 | "zOrder": "23",
340 | "w": "72",
341 | "h": "1",
342 | "measuredW": "150",
343 | "measuredH": "100",
344 | "x": "953",
345 | "y": "1415",
346 | "properties": {
347 | "color": "2848996",
348 | "rightArrow": "false",
349 | "p0": {
350 | "x": 72,
351 | "y": 0.5
352 | },
353 | "p1": {
354 | "x": 0.5,
355 | "y": 0
356 | },
357 | "p2": {
358 | "x": 0.14362918194524354,
359 | "y": 0.3740067885539702
360 | }
361 | }
362 | },
363 | {
364 | "ID": "70",
365 | "typeID": "Arrow",
366 | "zOrder": "24",
367 | "w": "24",
368 | "h": "341",
369 | "measuredW": "150",
370 | "measuredH": "100",
371 | "x": "731",
372 | "y": "520",
373 | "properties": {
374 | "color": "2848996",
375 | "leftArrow": "false",
376 | "rightArrow": "false",
377 | "p0": {
378 | "x": 16.115959956118445,
379 | "y": -0.26715829139584457
380 | },
381 | "p1": {
382 | "x": 0.49130441468177705,
383 | "y": 0.04062552857779898
384 | },
385 | "p2": {
386 | "x": -0.5,
387 | "y": 340.5
388 | }
389 | }
390 | },
391 | {
392 | "ID": "71",
393 | "typeID": "Label",
394 | "zOrder": "25",
395 | "w": "134",
396 | "measuredW": "127",
397 | "measuredH": "26",
398 | "x": "663",
399 | "y": "892",
400 | "properties": {
401 | "bold": "true",
402 | "size": "18",
403 | "text": "Getting Deeper"
404 | }
405 | },
406 | {
407 | "ID": "72",
408 | "typeID": "Arrow",
409 | "zOrder": "26",
410 | "w": "24",
411 | "h": "302",
412 | "measuredW": "150",
413 | "measuredH": "100",
414 | "x": "705",
415 | "y": "929",
416 | "properties": {
417 | "color": "2848996",
418 | "curvature": "-1",
419 | "leftArrow": "false",
420 | "rightArrow": "false",
421 | "p0": {
422 | "x": 19.738573715886787,
423 | "y": 0.022454554129808457
424 | },
425 | "p1": {
426 | "x": 0.5491442542787286,
427 | "y": -0.07237163814180929
428 | },
429 | "p2": {
430 | "x": 24,
431 | "y": 302
432 | }
433 | }
434 | },
435 | {
436 | "ID": "73",
437 | "typeID": "Icon",
438 | "zOrder": "27",
439 | "measuredW": "48",
440 | "measuredH": "48",
441 | "x": "704",
442 | "y": "1206",
443 | "properties": {
444 | "color": "2848996",
445 | "icon": {
446 | "ID": "circle",
447 | "size": "large"
448 | }
449 | }
450 | },
451 | {
452 | "ID": "75",
453 | "typeID": "Arrow",
454 | "zOrder": "28",
455 | "w": "56",
456 | "h": "227",
457 | "measuredW": "150",
458 | "measuredH": "100",
459 | "x": "733",
460 | "y": "1006",
461 | "properties": {
462 | "color": "2848996",
463 | "curvature": "-1",
464 | "rightArrow": "false",
465 | "p0": {
466 | "x": 56.74757846504042,
467 | "y": -0.20653225371870576
468 | },
469 | "p1": {
470 | "x": 0.3250944693824664,
471 | "y": -0.11999902535773611
472 | },
473 | "p2": {
474 | "x": 1,
475 | "y": 227
476 | }
477 | }
478 | },
479 | {
480 | "ID": "103",
481 | "typeID": "Label",
482 | "zOrder": "29",
483 | "w": "184",
484 | "measuredW": "171",
485 | "measuredH": "26",
486 | "x": "671",
487 | "y": "1322",
488 | "properties": {
489 | "bold": "true",
490 | "size": "18",
491 | "text": "Maximize Your Skills!"
492 | }
493 | },
494 | {
495 | "ID": "122",
496 | "typeID": "Icon",
497 | "zOrder": "30",
498 | "measuredW": "48",
499 | "measuredH": "48",
500 | "x": "705",
501 | "y": "1561",
502 | "properties": {
503 | "color": "2848996",
504 | "icon": {
505 | "ID": "flag-checkered",
506 | "size": "large"
507 | }
508 | }
509 | },
510 | {
511 | "ID": "123",
512 | "typeID": "Label",
513 | "zOrder": "31",
514 | "measuredW": "113",
515 | "measuredH": "26",
516 | "x": "669",
517 | "y": "1609",
518 | "properties": {
519 | "bold": "true",
520 | "color": "2848996",
521 | "size": "18",
522 | "text": "Start Building"
523 | }
524 | },
525 | {
526 | "ID": "124",
527 | "typeID": "Arrow",
528 | "zOrder": "32",
529 | "w": "30",
530 | "h": "218",
531 | "measuredW": "150",
532 | "measuredH": "100",
533 | "x": "718",
534 | "y": "1352",
535 | "properties": {
536 | "color": "2848996",
537 | "curvature": "-1",
538 | "direction": "bottom",
539 | "leftArrow": "false",
540 | "rightArrow": "false",
541 | "p0": {
542 | "x": 21.16429781863326,
543 | "y": 0.28612866819321425
544 | },
545 | "p1": {
546 | "x": 0.5430180110563148,
547 | "y": 0.08583049733182543
548 | },
549 | "p2": {
550 | "x": -0.1988321761249381,
551 | "y": 218.1900546147267
552 | }
553 | }
554 | },
555 | {
556 | "ID": "125",
557 | "typeID": "Icon",
558 | "zOrder": "33",
559 | "measuredW": "48",
560 | "measuredH": "48",
561 | "x": "719",
562 | "y": "1471",
563 | "properties": {
564 | "color": "2848996",
565 | "icon": {
566 | "ID": "circle",
567 | "size": "large"
568 | }
569 | }
570 | },
571 | {
572 | "ID": "126",
573 | "typeID": "Arrow",
574 | "zOrder": "34",
575 | "w": "9",
576 | "h": "79",
577 | "measuredW": "150",
578 | "measuredH": "100",
579 | "x": "723",
580 | "y": "1233",
581 | "properties": {
582 | "color": "2848996",
583 | "curvature": "-1",
584 | "leftArrow": "false",
585 | "rightArrow": "false",
586 | "p0": {
587 | "x": 9,
588 | "y": 0
589 | },
590 | "p1": {
591 | "x": 0.5151108126259236,
592 | "y": -0.10006715916722632
593 | },
594 | "p2": {
595 | "x": 7.61904582072998,
596 | "y": 78.6961816781527
597 | }
598 | }
599 | },
600 | {
601 | "ID": "205",
602 | "typeID": "TextInput",
603 | "zOrder": "35",
604 | "w": "240",
605 | "measuredW": "136",
606 | "measuredH": "32",
607 | "x": "1123",
608 | "y": "834",
609 | "properties": {
610 | "align": "center",
611 | "color": "16776960",
612 | "text": "Object Storage",
613 | "size": "18"
614 | }
615 | },
616 | {
617 | "ID": "266",
618 | "typeID": "Label",
619 | "zOrder": "36",
620 | "measuredW": "437",
621 | "measuredH": "26",
622 | "x": "735",
623 | "y": "76",
624 | "properties": {
625 | "bold": "true",
626 | "size": "18",
627 | "text": "https://github.com/chris-chris/ml-engineer-roadmap",
628 | "color": "2848996"
629 | }
630 | },
631 | {
632 | "ID": "267",
633 | "typeID": "Label",
634 | "zOrder": "37",
635 | "measuredW": "134",
636 | "measuredH": "26",
637 | "x": "735",
638 | "y": "102",
639 | "properties": {
640 | "bold": "true",
641 | "size": "18",
642 | "text": "@chris_loves_ai",
643 | "color": "2848996"
644 | }
645 | },
646 | {
647 | "ID": "274",
648 | "typeID": "Arrow",
649 | "zOrder": "38",
650 | "w": "124",
651 | "h": "86",
652 | "measuredW": "150",
653 | "measuredH": "100",
654 | "x": "995",
655 | "y": "886",
656 | "properties": {
657 | "color": "2848996",
658 | "curvature": "0",
659 | "direction": "bottom",
660 | "rightArrow": "false",
661 | "p0": {
662 | "x": 123.86931201157836,
663 | "y": 85.82445321058833
664 | },
665 | "p1": {
666 | "x": 0.43616302634541765,
667 | "y": -0.005854537266381452
668 | },
669 | "p2": {
670 | "x": 0,
671 | "y": -0.5
672 | }
673 | }
674 | },
675 | {
676 | "ID": "290",
677 | "typeID": "TextInput",
678 | "zOrder": "39",
679 | "w": "234",
680 | "measuredW": "221",
681 | "measuredH": "32",
682 | "x": "407",
683 | "y": "901",
684 | "properties": {
685 | "align": "center",
686 | "color": "16776960",
687 | "size": "18",
688 | "text": "Experiment Management"
689 | }
690 | },
691 | {
692 | "ID": "293",
693 | "typeID": "TextInput",
694 | "zOrder": "40",
695 | "w": "252",
696 | "measuredW": "107",
697 | "measuredH": "32",
698 | "x": "1026",
699 | "y": "1400",
700 | "properties": {
701 | "align": "center",
702 | "color": "16776960",
703 | "size": "18",
704 | "text": "Helm Chart"
705 | }
706 | },
707 | {
708 | "ID": "295",
709 | "typeID": "FieldSet",
710 | "zOrder": "5",
711 | "w": "588",
712 | "h": "355",
713 | "measuredW": "200",
714 | "measuredH": "170",
715 | "x": "791",
716 | "y": "696",
717 | "properties": {
718 | "text": "Infra Basics",
719 | "size": "18"
720 | }
721 | },
722 | {
723 | "ID": "296",
724 | "typeID": "TextInput",
725 | "zOrder": "41",
726 | "w": "240",
727 | "measuredW": "144",
728 | "measuredH": "32",
729 | "x": "1123",
730 | "y": "876",
731 | "properties": {
732 | "align": "center",
733 | "color": "16776960",
734 | "text": "Cloud GPU VMs",
735 | "size": "18"
736 | }
737 | },
738 | {
739 | "ID": "298",
740 | "typeID": "Arrow",
741 | "zOrder": "42",
742 | "w": "121",
743 | "h": "5",
744 | "measuredW": "150",
745 | "measuredH": "100",
746 | "x": "1000",
747 | "y": "886",
748 | "properties": {
749 | "color": "2848996",
750 | "curvature": "0",
751 | "rightArrow": "false",
752 | "p0": {
753 | "x": 120.1707032481147,
754 | "y": 5.3891581782784215
755 | },
756 | "p1": {
757 | "x": 0.43616302634541737,
758 | "y": -0.005854537266381158
759 | },
760 | "p2": {
761 | "x": -0.5,
762 | "y": 0
763 | }
764 | }
765 | },
766 | {
767 | "ID": "301",
768 | "typeID": "TextInput",
769 | "zOrder": "43",
770 | "w": "252",
771 | "measuredW": "209",
772 | "measuredH": "32",
773 | "x": "814",
774 | "y": "1158",
775 | "properties": {
776 | "align": "center",
777 | "color": "16776960",
778 | "size": "18",
779 | "text": "Continuous Deployment"
780 | }
781 | },
782 | {
783 | "ID": "302",
784 | "typeID": "FieldSet",
785 | "zOrder": "44",
786 | "w": "557",
787 | "h": "265",
788 | "measuredW": "241",
789 | "measuredH": "170",
790 | "x": "104",
791 | "y": "442",
792 | "properties": {
793 | "size": "18",
794 | "text": "Computer Science Basics"
795 | }
796 | },
797 | {
798 | "ID": "303",
799 | "typeID": "TextInput",
800 | "zOrder": "45",
801 | "w": "189",
802 | "measuredW": "132",
803 | "measuredH": "32",
804 | "x": "445",
805 | "y": "467",
806 | "properties": {
807 | "align": "center",
808 | "color": "16776960",
809 | "size": "18",
810 | "text": "Data Structure"
811 | }
812 | },
813 | {
814 | "ID": "304",
815 | "typeID": "TextInput",
816 | "zOrder": "46",
817 | "w": "189",
818 | "measuredW": "100",
819 | "measuredH": "32",
820 | "x": "445",
821 | "y": "521",
822 | "properties": {
823 | "align": "center",
824 | "color": "16776960",
825 | "size": "18",
826 | "text": "Algorithms"
827 | }
828 | },
829 | {
830 | "ID": "305",
831 | "typeID": "TextInput",
832 | "zOrder": "47",
833 | "w": "189",
834 | "measuredW": "93",
835 | "measuredH": "32",
836 | "x": "445",
837 | "y": "574",
838 | "properties": {
839 | "align": "center",
840 | "color": "16776960",
841 | "size": "18",
842 | "text": "Database"
843 | }
844 | },
845 | {
846 | "ID": "307",
847 | "typeID": "TextInput",
848 | "zOrder": "48",
849 | "w": "188",
850 | "measuredW": "159",
851 | "measuredH": "32",
852 | "x": "446",
853 | "y": "629",
854 | "properties": {
855 | "align": "center",
856 | "color": "15658734",
857 | "size": "18",
858 | "text": "Operating System"
859 | }
860 | },
861 | {
862 | "ID": "308",
863 | "typeID": "Arrow",
864 | "zOrder": "49",
865 | "w": "59",
866 | "h": "189",
867 | "measuredW": "150",
868 | "measuredH": "100",
869 | "x": "667",
870 | "y": "351",
871 | "properties": {
872 | "color": "2848996",
873 | "rightArrow": "false",
874 | "p0": {
875 | "x": 0,
876 | "y": 188.5
877 | },
878 | "p1": {
879 | "x": 0.3696610536966104,
880 | "y": -0.14280552142805533
881 | },
882 | "p2": {
883 | "x": 57.73857371588679,
884 | "y": -0.18033184669224056
885 | }
886 | }
887 | },
888 | {
889 | "ID": "309",
890 | "typeID": "FieldSet",
891 | "zOrder": "4",
892 | "w": "557",
893 | "h": "265",
894 | "measuredW": "273",
895 | "measuredH": "170",
896 | "x": "104",
897 | "y": "727",
898 | "properties": {
899 | "size": "18",
900 | "text": "MLOps Basics. Model Serving"
901 | }
902 | },
903 | {
904 | "ID": "310",
905 | "typeID": "TextInput",
906 | "zOrder": "50",
907 | "w": "202",
908 | "measuredW": "131",
909 | "measuredH": "32",
910 | "x": "439",
911 | "y": "805",
912 | "properties": {
913 | "align": "center",
914 | "color": "16776960",
915 | "size": "18",
916 | "text": "Model Serving"
917 | }
918 | },
919 | {
920 | "ID": "311",
921 | "typeID": "TextInput",
922 | "zOrder": "51",
923 | "w": "202",
924 | "measuredW": "71",
925 | "measuredH": "32",
926 | "x": "133",
927 | "y": "755",
928 | "properties": {
929 | "align": "center",
930 | "color": "16776960",
931 | "size": "18",
932 | "text": "MLflow"
933 | }
934 | },
935 | {
936 | "ID": "312",
937 | "typeID": "TextInput",
938 | "zOrder": "52",
939 | "w": "202",
940 | "measuredW": "89",
941 | "measuredH": "32",
942 | "x": "133",
943 | "y": "796",
944 | "properties": {
945 | "align": "center",
946 | "color": "16776960",
947 | "size": "18",
948 | "text": "BentoML"
949 | }
950 | },
951 | {
952 | "ID": "313",
953 | "typeID": "Arrow",
954 | "zOrder": "53",
955 | "w": "107",
956 | "h": "3",
957 | "measuredW": "150",
958 | "measuredH": "100",
959 | "x": "331",
960 | "y": "771",
961 | "properties": {
962 | "color": "2848996",
963 | "curvature": "0",
964 | "direction": "bottom",
965 | "rightArrow": "false",
966 | "p0": {
967 | "x": 0,
968 | "y": -0.5
969 | },
970 | "p1": {
971 | "x": 0.4361630263454178,
972 | "y": -0.005854537266381426
973 | },
974 | "p2": {
975 | "x": 107,
976 | "y": 2.5
977 | }
978 | }
979 | },
980 | {
981 | "ID": "314",
982 | "typeID": "Arrow",
983 | "zOrder": "54",
984 | "w": "103",
985 | "h": "37",
986 | "measuredW": "150",
987 | "measuredH": "100",
988 | "x": "335",
989 | "y": "776",
990 | "properties": {
991 | "color": "2848996",
992 | "curvature": "0",
993 | "direction": "bottom",
994 | "rightArrow": "false",
995 | "p0": {
996 | "x": 0,
997 | "y": 36.5
998 | },
999 | "p1": {
1000 | "x": 0.4361630263454179,
1001 | "y": -0.00585453726638142
1002 | },
1003 | "p2": {
1004 | "x": 103,
1005 | "y": -0.5
1006 | }
1007 | }
1008 | },
1009 | {
1010 | "ID": "315",
1011 | "typeID": "Arrow",
1012 | "zOrder": "55",
1013 | "w": "84",
1014 | "h": "379",
1015 | "measuredW": "150",
1016 | "measuredH": "100",
1017 | "x": "664",
1018 | "y": "365",
1019 | "properties": {
1020 | "color": "2848996",
1021 | "rightArrow": "false",
1022 | "p0": {
1023 | "x": 0,
1024 | "y": 379.5
1025 | },
1026 | "p1": {
1027 | "x": 0.3696610536966104,
1028 | "y": -0.14280552142805522
1029 | },
1030 | "p2": {
1031 | "x": 65.79153189916497,
1032 | "y": 0.2566915341023446
1033 | }
1034 | }
1035 | },
1036 | {
1037 | "ID": "316",
1038 | "typeID": "TextInput",
1039 | "zOrder": "56",
1040 | "w": "234",
1041 | "measuredW": "157",
1042 | "measuredH": "32",
1043 | "x": "407",
1044 | "y": "1044",
1045 | "properties": {
1046 | "align": "center",
1047 | "color": "16776960",
1048 | "size": "18",
1049 | "text": "Model Monitoring"
1050 | }
1051 | },
1052 | {
1053 | "ID": "317",
1054 | "typeID": "FieldSet",
1055 | "zOrder": "3",
1056 | "w": "291",
1057 | "h": "171",
1058 | "measuredW": "200",
1059 | "measuredH": "170",
1060 | "x": "791",
1061 | "y": "342",
1062 | "properties": {
1063 | "text": "Mathematics",
1064 | "size": "18"
1065 | }
1066 | },
1067 | {
1068 | "ID": "318",
1069 | "typeID": "Arrow",
1070 | "zOrder": "57",
1071 | "w": "61",
1072 | "h": "64",
1073 | "measuredW": "150",
1074 | "measuredH": "100",
1075 | "x": "732",
1076 | "y": "359",
1077 | "properties": {
1078 | "color": "2848996",
1079 | "rightArrow": "false",
1080 | "p0": {
1081 | "x": 61,
1082 | "y": 64.5
1083 | },
1084 | "p1": {
1085 | "x": 0.4651351460984086,
1086 | "y": 0.05294968698027235
1087 | },
1088 | "p2": {
1089 | "x": -0.0429145937158637,
1090 | "y": 0.48188218178449915
1091 | }
1092 | }
1093 | },
1094 | {
1095 | "ID": "319",
1096 | "typeID": "TextInput",
1097 | "zOrder": "58",
1098 | "w": "228",
1099 | "measuredW": "134",
1100 | "measuredH": "32",
1101 | "x": "814",
1102 | "y": "367",
1103 | "properties": {
1104 | "align": "center",
1105 | "color": "16776960",
1106 | "size": "18",
1107 | "text": "Linear Algebra"
1108 | }
1109 | },
1110 | {
1111 | "ID": "320",
1112 | "typeID": "TextInput",
1113 | "zOrder": "59",
1114 | "w": "228",
1115 | "measuredW": "211",
1116 | "measuredH": "32",
1117 | "x": "814",
1118 | "y": "415",
1119 | "properties": {
1120 | "align": "center",
1121 | "color": "16776960",
1122 | "size": "18",
1123 | "text": "Probability and Statistics"
1124 | }
1125 | },
1126 | {
1127 | "ID": "321",
1128 | "typeID": "TextInput",
1129 | "zOrder": "60",
1130 | "w": "228",
1131 | "measuredW": "176",
1132 | "measuredH": "32",
1133 | "x": "814",
1134 | "y": "459",
1135 | "properties": {
1136 | "align": "center",
1137 | "color": "16776960",
1138 | "size": "18",
1139 | "text": "Optimization Theory"
1140 | }
1141 | },
1142 | {
1143 | "ID": "322",
1144 | "typeID": "FieldSet",
1145 | "zOrder": "2",
1146 | "w": "588",
1147 | "h": "232",
1148 | "measuredW": "200",
1149 | "measuredH": "170",
1150 | "x": "791",
1151 | "y": "1076",
1152 | "properties": {
1153 | "text": "DevOps: CI/CD",
1154 | "size": "18"
1155 | }
1156 | },
1157 | {
1158 | "ID": "323",
1159 | "typeID": "FieldSet",
1160 | "zOrder": "61",
1161 | "w": "290",
1162 | "h": "164",
1163 | "measuredW": "237",
1164 | "measuredH": "170",
1165 | "x": "792",
1166 | "y": "520",
1167 | "properties": {
1168 | "text": "Machine Learning Basics",
1169 | "size": "18"
1170 | }
1171 | },
1172 | {
1173 | "ID": "324",
1174 | "typeID": "TextInput",
1175 | "zOrder": "62",
1176 | "w": "242",
1177 | "measuredW": "136",
1178 | "measuredH": "32",
1179 | "x": "811",
1180 | "y": "545",
1181 | "properties": {
1182 | "align": "center",
1183 | "color": "16776960",
1184 | "size": "18",
1185 | "text": "Deep Learning"
1186 | }
1187 | },
1188 | {
1189 | "ID": "325",
1190 | "typeID": "TextInput",
1191 | "zOrder": "63",
1192 | "w": "242",
1193 | "measuredW": "183",
1194 | "measuredH": "32",
1195 | "x": "811",
1196 | "y": "590",
1197 | "properties": {
1198 | "align": "center",
1199 | "color": "16776960",
1200 | "size": "18",
1201 | "text": "Supervised Learning"
1202 | }
1203 | },
1204 | {
1205 | "ID": "326",
1206 | "typeID": "TextInput",
1207 | "zOrder": "64",
1208 | "w": "240",
1209 | "measuredW": "204",
1210 | "measuredH": "32",
1211 | "x": "813",
1212 | "y": "634",
1213 | "properties": {
1214 | "align": "center",
1215 | "color": "15658734",
1216 | "size": "18",
1217 | "text": "Unsupervised Learning"
1218 | }
1219 | },
1220 | {
1221 | "ID": "327",
1222 | "typeID": "TextInput",
1223 | "zOrder": "65",
1224 | "w": "240",
1225 | "measuredW": "150",
1226 | "measuredH": "32",
1227 | "x": "1123",
1228 | "y": "917",
1229 | "properties": {
1230 | "align": "center",
1231 | "color": "16770457",
1232 | "size": "18",
1233 | "text": "Google Vertex AI"
1234 | }
1235 | },
1236 | {
1237 | "ID": "328",
1238 | "typeID": "TextInput",
1239 | "zOrder": "66",
1240 | "w": "240",
1241 | "measuredW": "150",
1242 | "measuredH": "32",
1243 | "x": "1123",
1244 | "y": "952",
1245 | "properties": {
1246 | "align": "center",
1247 | "color": "16770457",
1248 | "size": "18",
1249 | "text": "AWS SageMaker"
1250 | }
1251 | },
1252 | {
1253 | "ID": "329",
1254 | "typeID": "TextInput",
1255 | "zOrder": "67",
1256 | "w": "240",
1257 | "measuredW": "92",
1258 | "measuredH": "32",
1259 | "x": "1123",
1260 | "y": "989",
1261 | "properties": {
1262 | "align": "center",
1263 | "color": "16770457",
1264 | "size": "18",
1265 | "text": "Azure ML"
1266 | }
1267 | },
1268 | {
1269 | "ID": "330",
1270 | "typeID": "Arrow",
1271 | "zOrder": "68",
1272 | "w": "479",
1273 | "h": "93",
1274 | "measuredW": "150",
1275 | "measuredH": "100",
1276 | "x": "735",
1277 | "y": "261",
1278 | "properties": {
1279 | "color": "2848996",
1280 | "rightArrow": "false",
1281 | "p0": {
1282 | "x": 479.1536663248223,
1283 | "y": 82.60115646291047
1284 | },
1285 | "p1": {
1286 | "x": 0.47234223520144786,
1287 | "y": -0.1819189876024519
1288 | },
1289 | "p2": {
1290 | "x": -0.1488309602721074,
1291 | "y": 93.24333361953256
1292 | }
1293 | }
1294 | },
1295 | {
1296 | "ID": "331",
1297 | "typeID": "TextInput",
1298 | "zOrder": "69",
1299 | "w": "252",
1300 | "measuredW": "200",
1301 | "measuredH": "32",
1302 | "x": "814",
1303 | "y": "1110",
1304 | "properties": {
1305 | "align": "center",
1306 | "color": "16776960",
1307 | "size": "18",
1308 | "text": "Continuous Integration"
1309 | }
1310 | },
1311 | {
1312 | "ID": "332",
1313 | "typeID": "FieldSet",
1314 | "zOrder": "1",
1315 | "w": "588",
1316 | "h": "194",
1317 | "measuredW": "200",
1318 | "measuredH": "170",
1319 | "x": "791",
1320 | "y": "1364",
1321 | "properties": {
1322 | "size": "18",
1323 | "text": "Infra Advanced"
1324 | }
1325 | },
1326 | {
1327 | "ID": "333",
1328 | "typeID": "TextInput",
1329 | "zOrder": "70",
1330 | "w": "141",
1331 | "measuredW": "135",
1332 | "measuredH": "32",
1333 | "x": "814",
1334 | "y": "1448",
1335 | "properties": {
1336 | "align": "center",
1337 | "color": "16776960",
1338 | "size": "18",
1339 | "text": "Terraform(IaC)"
1340 | }
1341 | },
1342 | {
1343 | "ID": "335",
1344 | "typeID": "Arrow",
1345 | "zOrder": "71",
1346 | "w": "62",
1347 | "h": "33",
1348 | "measuredW": "150",
1349 | "measuredH": "100",
1350 | "x": "730",
1351 | "y": "1206",
1352 | "properties": {
1353 | "color": "2848996",
1354 | "curvature": "-1",
1355 | "rightArrow": "false",
1356 | "p0": {
1357 | "x": 61.56309013967268,
1358 | "y": 0.4075077931479427
1359 | },
1360 | "p1": {
1361 | "x": 0.4999999999999999,
1362 | "y": -1.817795323339599e-15
1363 | },
1364 | "p2": {
1365 | "x": -0.16430679782479274,
1366 | "y": 33.086717936528885
1367 | }
1368 | }
1369 | },
1370 | {
1371 | "ID": "336",
1372 | "typeID": "TextInput",
1373 | "zOrder": "72",
1374 | "w": "240",
1375 | "measuredW": "95",
1376 | "measuredH": "32",
1377 | "x": "151",
1378 | "y": "485",
1379 | "properties": {
1380 | "align": "center",
1381 | "color": "16770457",
1382 | "size": "18",
1383 | "text": "LeetCode"
1384 | }
1385 | },
1386 | {
1387 | "ID": "337",
1388 | "typeID": "TextInput",
1389 | "zOrder": "73",
1390 | "w": "240",
1391 | "measuredW": "115",
1392 | "measuredH": "32",
1393 | "x": "151",
1394 | "y": "520",
1395 | "properties": {
1396 | "align": "center",
1397 | "color": "16770457",
1398 | "size": "18",
1399 | "text": "HackerRank"
1400 | }
1401 | },
1402 | {
1403 | "ID": "338",
1404 | "typeID": "TextInput",
1405 | "zOrder": "74",
1406 | "w": "240",
1407 | "measuredW": "96",
1408 | "measuredH": "32",
1409 | "x": "151",
1410 | "y": "556",
1411 | "properties": {
1412 | "align": "center",
1413 | "color": "16770457",
1414 | "size": "18",
1415 | "text": "Codewars"
1416 | }
1417 | },
1418 | {
1419 | "ID": "339",
1420 | "typeID": "Arrow",
1421 | "zOrder": "75",
1422 | "w": "51",
1423 | "h": "33",
1424 | "measuredW": "150",
1425 | "measuredH": "100",
1426 | "x": "391",
1427 | "y": "499",
1428 | "properties": {
1429 | "color": "2848996",
1430 | "curvature": "0",
1431 | "direction": "bottom",
1432 | "rightArrow": "false",
1433 | "p0": {
1434 | "x": 0.4125684191008645,
1435 | "y": -0.49518741821526646
1436 | },
1437 | "p1": {
1438 | "x": 0.4361630263454178,
1439 | "y": -0.005854537266381396
1440 | },
1441 | "p2": {
1442 | "x": 51,
1443 | "y": 32.5
1444 | }
1445 | }
1446 | },
1447 | {
1448 | "ID": "340",
1449 | "typeID": "Arrow",
1450 | "zOrder": "76",
1451 | "w": "53",
1452 | "h": "2",
1453 | "measuredW": "150",
1454 | "measuredH": "100",
1455 | "x": "391",
1456 | "y": "535",
1457 | "properties": {
1458 | "color": "2848996",
1459 | "curvature": "0",
1460 | "direction": "bottom",
1461 | "rightArrow": "false",
1462 | "p0": {
1463 | "x": 0.4125684191008645,
1464 | "y": -0.18495392556974366
1465 | },
1466 | "p1": {
1467 | "x": 0.436163026345418,
1468 | "y": -0.005854537266381393
1469 | },
1470 | "p2": {
1471 | "x": 53.062406983436915,
1472 | "y": 1.6305577490625751
1473 | }
1474 | }
1475 | },
1476 | {
1477 | "ID": "341",
1478 | "typeID": "Arrow",
1479 | "zOrder": "77",
1480 | "w": "53",
1481 | "h": "32",
1482 | "measuredW": "150",
1483 | "measuredH": "100",
1484 | "x": "391",
1485 | "y": "538",
1486 | "properties": {
1487 | "color": "2848996",
1488 | "curvature": "0",
1489 | "direction": "bottom",
1490 | "rightArrow": "false",
1491 | "p0": {
1492 | "x": 0.4125684191008645,
1493 | "y": 32.815046074430256
1494 | },
1495 | "p1": {
1496 | "x": 0.43616302634541804,
1497 | "y": -0.005854537266381384
1498 | },
1499 | "p2": {
1500 | "x": 53.062406983436915,
1501 | "y": 0.44606942369483704
1502 | }
1503 | }
1504 | },
1505 | {
1506 | "ID": "342",
1507 | "typeID": "TextInput",
1508 | "zOrder": "78",
1509 | "w": "240",
1510 | "measuredW": "135",
1511 | "measuredH": "32",
1512 | "x": "1110",
1513 | "y": "1112",
1514 | "properties": {
1515 | "align": "center",
1516 | "color": "16770457",
1517 | "size": "18",
1518 | "text": "GitHub Actions"
1519 | }
1520 | },
1521 | {
1522 | "ID": "343",
1523 | "typeID": "TextInput",
1524 | "zOrder": "79",
1525 | "w": "240",
1526 | "measuredW": "164",
1527 | "measuredH": "32",
1528 | "x": "1110",
1529 | "y": "1147",
1530 | "properties": {
1531 | "align": "center",
1532 | "color": "16770457",
1533 | "size": "18",
1534 | "text": "Google Cloudbuild"
1535 | }
1536 | },
1537 | {
1538 | "ID": "344",
1539 | "typeID": "TextInput",
1540 | "zOrder": "80",
1541 | "w": "240",
1542 | "measuredW": "77",
1543 | "measuredH": "32",
1544 | "x": "1110",
1545 | "y": "1183",
1546 | "properties": {
1547 | "align": "center",
1548 | "color": "16770457",
1549 | "size": "18",
1550 | "text": "Jenkins"
1551 | }
1552 | },
1553 | {
1554 | "ID": "345",
1555 | "typeID": "TextInput",
1556 | "zOrder": "81",
1557 | "w": "240",
1558 | "measuredW": "80",
1559 | "measuredH": "32",
1560 | "x": "1110",
1561 | "y": "1221",
1562 | "properties": {
1563 | "align": "center",
1564 | "color": "16770457",
1565 | "size": "18",
1566 | "text": "CircleCI"
1567 | }
1568 | },
1569 | {
1570 | "ID": "346",
1571 | "typeID": "TextInput",
1572 | "zOrder": "82",
1573 | "w": "240",
1574 | "measuredW": "96",
1575 | "measuredH": "32",
1576 | "x": "1110",
1577 | "y": "1261",
1578 | "properties": {
1579 | "align": "center",
1580 | "color": "16770457",
1581 | "size": "18",
1582 | "text": "Spinnaker"
1583 | }
1584 | },
1585 | {
1586 | "ID": "348",
1587 | "typeID": "TextInput",
1588 | "zOrder": "83",
1589 | "w": "141",
1590 | "measuredW": "90",
1591 | "measuredH": "32",
1592 | "x": "814",
1593 | "y": "1496",
1594 | "properties": {
1595 | "align": "center",
1596 | "color": "15658734",
1597 | "size": "18",
1598 | "text": "KeyCloak"
1599 | }
1600 | },
1601 | {
1602 | "ID": "349",
1603 | "typeID": "TextInput",
1604 | "zOrder": "84",
1605 | "w": "240",
1606 | "measuredW": "73",
1607 | "measuredH": "32",
1608 | "x": "1123",
1609 | "y": "720",
1610 | "properties": {
1611 | "align": "center",
1612 | "color": "16776960",
1613 | "text": "Ubuntu",
1614 | "size": "18"
1615 | }
1616 | },
1617 | {
1618 | "ID": "350",
1619 | "typeID": "TextInput",
1620 | "zOrder": "85",
1621 | "w": "240",
1622 | "measuredW": "78",
1623 | "measuredH": "32",
1624 | "x": "1123",
1625 | "y": "758",
1626 | "properties": {
1627 | "align": "center",
1628 | "color": "15658734",
1629 | "text": "CentOS",
1630 | "size": "18"
1631 | }
1632 | },
1633 | {
1634 | "ID": "351",
1635 | "typeID": "Arrow",
1636 | "zOrder": "86",
1637 | "w": "123",
1638 | "h": "16",
1639 | "measuredW": "150",
1640 | "measuredH": "100",
1641 | "x": "995",
1642 | "y": "735",
1643 | "properties": {
1644 | "color": "2848996",
1645 | "curvature": "0",
1646 | "direction": "bottom",
1647 | "rightArrow": "false",
1648 | "p0": {
1649 | "x": 123.35519157348244,
1650 | "y": 0.255154159902645
1651 | },
1652 | "p1": {
1653 | "x": 0.43616302634541765,
1654 | "y": -0.005854537266381555
1655 | },
1656 | "p2": {
1657 | "x": -0.09960230151239102,
1658 | "y": 16.594759231593116
1659 | }
1660 | }
1661 | },
1662 | {
1663 | "ID": "352",
1664 | "typeID": "Arrow",
1665 | "zOrder": "87",
1666 | "w": "125",
1667 | "h": "24",
1668 | "measuredW": "150",
1669 | "measuredH": "100",
1670 | "x": "997",
1671 | "y": "753",
1672 | "properties": {
1673 | "color": "2848996",
1674 | "curvature": "0",
1675 | "direction": "bottom",
1676 | "rightArrow": "false",
1677 | "p0": {
1678 | "x": 124.98621492274697,
1679 | "y": 24.01192267644501
1680 | },
1681 | "p1": {
1682 | "x": 0.4361630263454178,
1683 | "y": -0.00585453726638151
1684 | },
1685 | "p2": {
1686 | "x": -0.2840906268801291,
1687 | "y": 0.410270906225378
1688 | }
1689 | }
1690 | },
1691 | {
1692 | "ID": "353",
1693 | "typeID": "TextInput",
1694 | "zOrder": "88",
1695 | "w": "240",
1696 | "measuredW": "65",
1697 | "measuredH": "32",
1698 | "x": "1123",
1699 | "y": "795",
1700 | "properties": {
1701 | "align": "center",
1702 | "color": "15658734",
1703 | "text": "Alpine",
1704 | "size": "18"
1705 | }
1706 | },
1707 | {
1708 | "ID": "354",
1709 | "typeID": "Arrow",
1710 | "zOrder": "89",
1711 | "w": "130",
1712 | "h": "51",
1713 | "measuredW": "150",
1714 | "measuredH": "100",
1715 | "x": "993",
1716 | "y": "884",
1717 | "properties": {
1718 | "color": "2848996",
1719 | "curvature": "0",
1720 | "direction": "bottom",
1721 | "rightArrow": "false",
1722 | "p0": {
1723 | "x": 129.86931201157836,
1724 | "y": 50.82445321058833
1725 | },
1726 | "p1": {
1727 | "x": 0.43616302634541776,
1728 | "y": -0.005854537266381494
1729 | },
1730 | "p2": {
1731 | "x": 0.08488602385534705,
1732 | "y": 0.12711147974926007
1733 | }
1734 | }
1735 | },
1736 | {
1737 | "ID": "355",
1738 | "typeID": "Arrow",
1739 | "zOrder": "90",
1740 | "w": "122",
1741 | "h": "120",
1742 | "measuredW": "150",
1743 | "measuredH": "100",
1744 | "x": "998",
1745 | "y": "884",
1746 | "properties": {
1747 | "color": "2848996",
1748 | "curvature": "0",
1749 | "direction": "bottom",
1750 | "rightArrow": "false",
1751 | "p0": {
1752 | "x": 122.1707032481147,
1753 | "y": 119.95088200547957
1754 | },
1755 | "p1": {
1756 | "x": 0.43616302634541765,
1757 | "y": -0.005854537266381367
1758 | },
1759 | "p2": {
1760 | "x": 0.08488602385534705,
1761 | "y": 0.12711147974926007
1762 | }
1763 | }
1764 | },
1765 | {
1766 | "ID": "356",
1767 | "typeID": "Arrow",
1768 | "zOrder": "91",
1769 | "w": "125",
1770 | "h": "57",
1771 | "measuredW": "150",
1772 | "measuredH": "100",
1773 | "x": "995",
1774 | "y": "753",
1775 | "properties": {
1776 | "color": "2848996",
1777 | "curvature": "0",
1778 | "direction": "bottom",
1779 | "rightArrow": "false",
1780 | "p0": {
1781 | "x": 125.1707032481147,
1782 | "y": 56.69113281982595
1783 | },
1784 | "p1": {
1785 | "x": 0.4361630263454176,
1786 | "y": -0.005854537266381593
1787 | },
1788 | "p2": {
1789 | "x": -0.09960230151239102,
1790 | "y": -0.40524076840688394
1791 | }
1792 | }
1793 | },
1794 | {
1795 | "ID": "357",
1796 | "typeID": "FieldSet",
1797 | "zOrder": "0",
1798 | "w": "557",
1799 | "h": "225",
1800 | "measuredW": "315",
1801 | "measuredH": "170",
1802 | "x": "104",
1803 | "y": "1018",
1804 | "properties": {
1805 | "size": "18",
1806 | "text": "MLOps. Machine Learning Pipeline"
1807 | }
1808 | },
1809 | {
1810 | "ID": "358",
1811 | "typeID": "TextInput",
1812 | "zOrder": "92",
1813 | "w": "234",
1814 | "measuredW": "136",
1815 | "measuredH": "32",
1816 | "x": "407",
1817 | "y": "1090",
1818 | "properties": {
1819 | "align": "center",
1820 | "color": "16776960",
1821 | "size": "18",
1822 | "text": "Data Validation"
1823 | }
1824 | },
1825 | {
1826 | "ID": "359",
1827 | "typeID": "TextInput",
1828 | "zOrder": "93",
1829 | "w": "234",
1830 | "measuredW": "148",
1831 | "measuredH": "32",
1832 | "x": "407",
1833 | "y": "1135",
1834 | "properties": {
1835 | "align": "center",
1836 | "color": "16776960",
1837 | "size": "18",
1838 | "text": "Model Validation"
1839 | }
1840 | },
1841 | {
1842 | "ID": "361",
1843 | "typeID": "FieldSet",
1844 | "zOrder": "94",
1845 | "w": "557",
1846 | "h": "178",
1847 | "measuredW": "200",
1848 | "measuredH": "170",
1849 | "x": "106",
1850 | "y": "1260",
1851 | "properties": {
1852 | "size": "18",
1853 | "text": "AutoML"
1854 | }
1855 | },
1856 | {
1857 | "ID": "362",
1858 | "typeID": "TextInput",
1859 | "zOrder": "95",
1860 | "w": "279",
1861 | "measuredW": "260",
1862 | "measuredH": "32",
1863 | "x": "362",
1864 | "y": "1296",
1865 | "properties": {
1866 | "align": "center",
1867 | "color": "16776960",
1868 | "size": "18",
1869 | "text": "Hyper Parameter Optimization"
1870 | }
1871 | },
1872 | {
1873 | "ID": "363",
1874 | "typeID": "TextInput",
1875 | "zOrder": "96",
1876 | "w": "240",
1877 | "measuredW": "86",
1878 | "measuredH": "32",
1879 | "x": "114",
1880 | "y": "1296",
1881 | "properties": {
1882 | "align": "center",
1883 | "color": "16770457",
1884 | "size": "18",
1885 | "text": "hyperopt"
1886 | }
1887 | },
1888 | {
1889 | "ID": "364",
1890 | "typeID": "TextInput",
1891 | "zOrder": "97",
1892 | "w": "240",
1893 | "measuredW": "128",
1894 | "measuredH": "32",
1895 | "x": "114",
1896 | "y": "1331",
1897 | "properties": {
1898 | "align": "center",
1899 | "color": "16770457",
1900 | "size": "18",
1901 | "text": "Microsoft NNI"
1902 | }
1903 | },
1904 | {
1905 | "ID": "365",
1906 | "typeID": "TextInput",
1907 | "zOrder": "98",
1908 | "w": "240",
1909 | "measuredW": "71",
1910 | "measuredH": "32",
1911 | "x": "114",
1912 | "y": "1367",
1913 | "properties": {
1914 | "align": "center",
1915 | "color": "16770457",
1916 | "size": "18",
1917 | "text": "optuna"
1918 | }
1919 | },
1920 | {
1921 | "ID": "367",
1922 | "typeID": "TextInput",
1923 | "zOrder": "99",
1924 | "w": "279",
1925 | "measuredW": "234",
1926 | "measuredH": "32",
1927 | "x": "362",
1928 | "y": "1331",
1929 | "properties": {
1930 | "align": "center",
1931 | "color": "16776960",
1932 | "size": "18",
1933 | "text": "Neural Architecture Search"
1934 | }
1935 | },
1936 | {
1937 | "ID": "368",
1938 | "typeID": "TextInput",
1939 | "zOrder": "100",
1940 | "w": "279",
1941 | "measuredW": "127",
1942 | "measuredH": "32",
1943 | "x": "362",
1944 | "y": "1367",
1945 | "properties": {
1946 | "align": "center",
1947 | "color": "16776960",
1948 | "size": "18",
1949 | "text": "Model Search"
1950 | }
1951 | },
1952 | {
1953 | "ID": "369",
1954 | "typeID": "FieldSet",
1955 | "zOrder": "101",
1956 | "w": "557",
1957 | "h": "114",
1958 | "measuredW": "200",
1959 | "measuredH": "170",
1960 | "x": "106",
1961 | "y": "1454",
1962 | "properties": {
1963 | "size": "18",
1964 | "text": "Feature Serving"
1965 | }
1966 | },
1967 | {
1968 | "ID": "370",
1969 | "typeID": "TextInput",
1970 | "zOrder": "102",
1971 | "w": "240",
1972 | "measuredW": "55",
1973 | "measuredH": "32",
1974 | "x": "114",
1975 | "y": "1479",
1976 | "properties": {
1977 | "align": "center",
1978 | "color": "16770457",
1979 | "size": "18",
1980 | "text": "feast"
1981 | }
1982 | },
1983 | {
1984 | "ID": "371",
1985 | "typeID": "TextInput",
1986 | "zOrder": "103",
1987 | "w": "240",
1988 | "measuredW": "125",
1989 | "measuredH": "32",
1990 | "x": "114",
1991 | "y": "1520",
1992 | "properties": {
1993 | "align": "center",
1994 | "color": "16770457",
1995 | "size": "18",
1996 | "text": "Feature Store"
1997 | }
1998 | },
1999 | {
2000 | "ID": "372",
2001 | "typeID": "TextInput",
2002 | "zOrder": "104",
2003 | "w": "279",
2004 | "measuredW": "196",
2005 | "measuredH": "32",
2006 | "x": "362",
2007 | "y": "1479",
2008 | "properties": {
2009 | "align": "center",
2010 | "color": "16776960",
2011 | "size": "18",
2012 | "text": "Feature Space Search"
2013 | }
2014 | },
2015 | {
2016 | "ID": "373",
2017 | "typeID": "TextInput",
2018 | "zOrder": "105",
2019 | "w": "234",
2020 | "measuredW": "130",
2021 | "measuredH": "32",
2022 | "x": "407",
2023 | "y": "1183",
2024 | "properties": {
2025 | "align": "center",
2026 | "color": "16776960",
2027 | "size": "18",
2028 | "text": "Explainable AI"
2029 | }
2030 | },
2031 | {
2032 | "ID": "374",
2033 | "typeID": "TextInput",
2034 | "zOrder": "106",
2035 | "w": "240",
2036 | "measuredW": "61",
2037 | "measuredH": "32",
2038 | "x": "114",
2039 | "y": "1165",
2040 | "properties": {
2041 | "align": "center",
2042 | "color": "16770457",
2043 | "size": "18",
2044 | "text": "SHAP"
2045 | }
2046 | },
2047 | {
2048 | "ID": "375",
2049 | "typeID": "TextInput",
2050 | "zOrder": "107",
2051 | "w": "240",
2052 | "measuredW": "86",
2053 | "measuredH": "32",
2054 | "x": "114",
2055 | "y": "1200",
2056 | "properties": {
2057 | "align": "center",
2058 | "color": "16770457",
2059 | "size": "18",
2060 | "text": "Interpret"
2061 | }
2062 | },
2063 | {
2064 | "ID": "376",
2065 | "typeID": "Arrow",
2066 | "zOrder": "108",
2067 | "w": "49",
2068 | "h": "22",
2069 | "measuredW": "150",
2070 | "measuredH": "100",
2071 | "x": "355",
2072 | "y": "1197",
2073 | "properties": {
2074 | "color": "2848996",
2075 | "curvature": "0",
2076 | "direction": "bottom",
2077 | "rightArrow": "false",
2078 | "p0": {
2079 | "x": 0.1023349264553417,
2080 | "y": 22.262947410798688
2081 | },
2082 | "p1": {
2083 | "x": 0.4361630263454179,
2084 | "y": -0.005854537266381395
2085 | },
2086 | "p2": {
2087 | "x": 49.12115014152681,
2088 | "y": 0.4768073152113175
2089 | }
2090 | }
2091 | },
2092 | {
2093 | "ID": "377",
2094 | "typeID": "Arrow",
2095 | "zOrder": "109",
2096 | "w": "56",
2097 | "h": "16",
2098 | "measuredW": "150",
2099 | "measuredH": "100",
2100 | "x": "351",
2101 | "y": "1179",
2102 | "properties": {
2103 | "color": "2848996",
2104 | "curvature": "0",
2105 | "direction": "bottom",
2106 | "rightArrow": "false",
2107 | "p0": {
2108 | "x": 0.471311577190761,
2109 | "y": 0.3216905688884708
2110 | },
2111 | "p1": {
2112 | "x": 0.436163026345418,
2113 | "y": -0.005854537266381375
2114 | },
2115 | "p2": {
2116 | "x": 56.75217349079139,
2117 | "y": 16.661295640579056
2118 | }
2119 | }
2120 | },
2121 | {
2122 | "ID": "378",
2123 | "typeID": "TextInput",
2124 | "zOrder": "110",
2125 | "w": "240",
2126 | "measuredW": "58",
2127 | "measuredH": "32",
2128 | "x": "114",
2129 | "y": "1126",
2130 | "properties": {
2131 | "align": "center",
2132 | "color": "16770457",
2133 | "size": "18",
2134 | "text": "LIME"
2135 | }
2136 | },
2137 | {
2138 | "ID": "379",
2139 | "typeID": "Arrow",
2140 | "zOrder": "111",
2141 | "w": "51",
2142 | "h": "51",
2143 | "measuredW": "150",
2144 | "measuredH": "100",
2145 | "x": "355",
2146 | "y": "1145",
2147 | "properties": {
2148 | "color": "2848996",
2149 | "curvature": "0",
2150 | "direction": "bottom",
2151 | "rightArrow": "false",
2152 | "p0": {
2153 | "x": 0.1023349264553417,
2154 | "y": -0.17303124912473322
2155 | },
2156 | "p1": {
2157 | "x": 0.4361630263454179,
2158 | "y": -0.005854537266381347
2159 | },
2160 | "p2": {
2161 | "x": 50.936661816159074,
2162 | "y": 50.661295640579056
2163 | }
2164 | }
2165 | },
2166 | {
2167 | "ID": "380",
2168 | "typeID": "TextInput",
2169 | "zOrder": "112",
2170 | "w": "240",
2171 | "measuredW": "175",
2172 | "measuredH": "32",
2173 | "x": "114",
2174 | "y": "861",
2175 | "properties": {
2176 | "align": "center",
2177 | "color": "16770457",
2178 | "size": "18",
2179 | "text": "Weights and Biases"
2180 | }
2181 | },
2182 | {
2183 | "ID": "381",
2184 | "typeID": "TextInput",
2185 | "zOrder": "113",
2186 | "w": "240",
2187 | "measuredW": "85",
2188 | "measuredH": "32",
2189 | "x": "114",
2190 | "y": "901",
2191 | "properties": {
2192 | "align": "center",
2193 | "color": "16770457",
2194 | "size": "18",
2195 | "text": "Neptune"
2196 | }
2197 | },
2198 | {
2199 | "ID": "382",
2200 | "typeID": "TextInput",
2201 | "zOrder": "114",
2202 | "w": "240",
2203 | "measuredW": "72",
2204 | "measuredH": "32",
2205 | "x": "114",
2206 | "y": "940",
2207 | "properties": {
2208 | "align": "center",
2209 | "color": "16770457",
2210 | "size": "18",
2211 | "text": "Sacred"
2212 | }
2213 | },
2214 | {
2215 | "ID": "384",
2216 | "typeID": "FieldSet",
2217 | "zOrder": "115",
2218 | "w": "290",
2219 | "h": "164",
2220 | "measuredW": "247",
2221 | "measuredH": "170",
2222 | "x": "1098",
2223 | "y": "346",
2224 | "properties": {
2225 | "size": "18",
2226 | "text": "Deep Learning Framework"
2227 | }
2228 | },
2229 | {
2230 | "ID": "388",
2231 | "typeID": "TextInput",
2232 | "zOrder": "116",
2233 | "w": "240",
2234 | "measuredW": "101",
2235 | "measuredH": "32",
2236 | "x": "1123",
2237 | "y": "375",
2238 | "properties": {
2239 | "align": "center",
2240 | "color": "16770457",
2241 | "size": "18",
2242 | "text": "Tensorflow"
2243 | }
2244 | },
2245 | {
2246 | "ID": "389",
2247 | "typeID": "TextInput",
2248 | "zOrder": "117",
2249 | "w": "240",
2250 | "measuredW": "79",
2251 | "measuredH": "32",
2252 | "x": "1123",
2253 | "y": "412",
2254 | "properties": {
2255 | "align": "center",
2256 | "color": "16770457",
2257 | "size": "18",
2258 | "text": "PyTorch"
2259 | }
2260 | },
2261 | {
2262 | "ID": "390",
2263 | "typeID": "TextInput",
2264 | "zOrder": "118",
2265 | "w": "240",
2266 | "measuredW": "107",
2267 | "measuredH": "32",
2268 | "x": "1123",
2269 | "y": "452",
2270 | "properties": {
2271 | "align": "center",
2272 | "color": "16770457",
2273 | "size": "18",
2274 | "text": "Google JAX"
2275 | }
2276 | },
2277 | {
2278 | "ID": "391",
2279 | "typeID": "Arrow",
2280 | "zOrder": "119",
2281 | "w": "57",
2282 | "h": "352",
2283 | "measuredW": "150",
2284 | "measuredH": "100",
2285 | "x": "731",
2286 | "y": "372",
2287 | "properties": {
2288 | "color": "2848996",
2289 | "rightArrow": "false",
2290 | "p0": {
2291 | "x": 57.29949680657717,
2292 | "y": 352.2101068223026
2293 | },
2294 | "p1": {
2295 | "x": 0.4754997904633509,
2296 | "y": 0.009860549064792591
2297 | },
2298 | "p2": {
2299 | "x": 0.34782956108551843,
2300 | "y": -0.0744154801360537
2301 | }
2302 | }
2303 | },
2304 | {
2305 | "ID": "392",
2306 | "typeID": "FieldSet",
2307 | "zOrder": "120",
2308 | "w": "555",
2309 | "h": "193",
2310 | "measuredW": "235",
2311 | "measuredH": "170",
2312 | "x": "106",
2313 | "y": "244",
2314 | "properties": {
2315 | "text": "Programming Languages",
2316 | "size": "18"
2317 | }
2318 | },
2319 | {
2320 | "ID": "393",
2321 | "typeID": "TextInput",
2322 | "zOrder": "121",
2323 | "w": "189",
2324 | "measuredW": "70",
2325 | "measuredH": "32",
2326 | "x": "407",
2327 | "y": "269",
2328 | "properties": {
2329 | "align": "center",
2330 | "color": "16776960",
2331 | "size": "18",
2332 | "text": "Python"
2333 | }
2334 | },
2335 | {
2336 | "ID": "394",
2337 | "typeID": "TextInput",
2338 | "zOrder": "122",
2339 | "w": "188",
2340 | "measuredW": "27",
2341 | "measuredH": "32",
2342 | "x": "408",
2343 | "y": "309",
2344 | "properties": {
2345 | "align": "center",
2346 | "color": "15658734",
2347 | "size": "18",
2348 | "text": "R"
2349 | }
2350 | },
2351 | {
2352 | "ID": "395",
2353 | "typeID": "TextInput",
2354 | "zOrder": "123",
2355 | "w": "188",
2356 | "measuredW": "53",
2357 | "measuredH": "32",
2358 | "x": "203",
2359 | "y": "269",
2360 | "properties": {
2361 | "align": "center",
2362 | "color": "15658734",
2363 | "size": "18",
2364 | "text": "Java"
2365 | }
2366 | },
2367 | {
2368 | "ID": "396",
2369 | "typeID": "TextInput",
2370 | "zOrder": "124",
2371 | "w": "188",
2372 | "measuredW": "60",
2373 | "measuredH": "32",
2374 | "x": "203",
2375 | "y": "309",
2376 | "properties": {
2377 | "align": "center",
2378 | "color": "15658734",
2379 | "size": "18",
2380 | "text": "Kotlin"
2381 | }
2382 | },
2383 | {
2384 | "ID": "397",
2385 | "typeID": "TextInput",
2386 | "zOrder": "125",
2387 | "w": "188",
2388 | "measuredW": "73",
2389 | "measuredH": "32",
2390 | "x": "203",
2391 | "y": "349",
2392 | "properties": {
2393 | "align": "center",
2394 | "color": "15658734",
2395 | "size": "18",
2396 | "text": "Golang"
2397 | }
2398 | },
2399 | {
2400 | "ID": "398",
2401 | "typeID": "TextInput",
2402 | "zOrder": "126",
2403 | "w": "188",
2404 | "measuredW": "64",
2405 | "measuredH": "32",
2406 | "x": "406",
2407 | "y": "349",
2408 | "properties": {
2409 | "align": "center",
2410 | "color": "15658734",
2411 | "size": "18",
2412 | "text": "CUDA"
2413 | }
2414 | },
2415 | {
2416 | "ID": "399",
2417 | "typeID": "TextInput",
2418 | "zOrder": "127",
2419 | "w": "188",
2420 | "measuredW": "82",
2421 | "measuredH": "32",
2422 | "x": "406",
2423 | "y": "389",
2424 | "properties": {
2425 | "align": "center",
2426 | "color": "15658734",
2427 | "size": "18",
2428 | "text": "C / C++"
2429 | }
2430 | },
2431 | {
2432 | "ID": "400",
2433 | "typeID": "Arrow",
2434 | "zOrder": "128",
2435 | "w": "65",
2436 | "h": "9",
2437 | "measuredW": "150",
2438 | "measuredH": "100",
2439 | "x": "663",
2440 | "y": "345",
2441 | "properties": {
2442 | "color": "2848996",
2443 | "rightArrow": "false",
2444 | "p0": {
2445 | "x": -0.3043988890523224,
2446 | "y": 8.629322935559912
2447 | },
2448 | "p1": {
2449 | "x": 0.40756914119359605,
2450 | "y": 0.05676855895196514
2451 | },
2452 | "p2": {
2453 | "x": 64.38389189184284,
2454 | "y": 0.004217498107266238
2455 | }
2456 | }
2457 | },
2458 | {
2459 | "ID": "401",
2460 | "typeID": "Arrow",
2461 | "zOrder": "129",
2462 | "w": "60",
2463 | "h": "24",
2464 | "measuredW": "150",
2465 | "measuredH": "100",
2466 | "x": "729",
2467 | "y": "1480",
2468 | "properties": {
2469 | "color": "2848996",
2470 | "curvature": "-1",
2471 | "rightArrow": "false",
2472 | "p0": {
2473 | "x": 60.19714752692039,
2474 | "y": -0.07565869041081896
2475 | },
2476 | "p1": {
2477 | "x": 0.5,
2478 | "y": -1.8556393620755242e-15
2479 | },
2480 | "p2": {
2481 | "x": -0.16430679782479274,
2482 | "y": 24.086717936528885
2483 | }
2484 | }
2485 | },
2486 | {
2487 | "ID": "402",
2488 | "typeID": "Arrow",
2489 | "zOrder": "130",
2490 | "w": "76",
2491 | "h": "16",
2492 | "measuredW": "150",
2493 | "measuredH": "100",
2494 | "x": "663",
2495 | "y": "1506",
2496 | "properties": {
2497 | "color": "2848996",
2498 | "curvature": "-1",
2499 | "rightArrow": "false",
2500 | "p0": {
2501 | "x": -0.3043988890523224,
2502 | "y": 15.61235092394395
2503 | },
2504 | "p1": {
2505 | "x": 0.49999999999999983,
2506 | "y": -1.807434204560699e-15
2507 | },
2508 | "p2": {
2509 | "x": 75.83569320217521,
2510 | "y": 0.08671793652888482
2511 | }
2512 | }
2513 | },
2514 | {
2515 | "ID": "403",
2516 | "typeID": "Arrow",
2517 | "zOrder": "131",
2518 | "w": "76",
2519 | "h": "118",
2520 | "measuredW": "150",
2521 | "measuredH": "100",
2522 | "x": "663",
2523 | "y": "1372",
2524 | "properties": {
2525 | "color": "2848996",
2526 | "curvature": "-1",
2527 | "rightArrow": "false",
2528 | "p0": {
2529 | "x": -0.3043988890523224,
2530 | "y": 0.11052334143073494
2531 | },
2532 | "p1": {
2533 | "x": 0.49999999999999983,
2534 | "y": -1.8005652432870635e-15
2535 | },
2536 | "p2": {
2537 | "x": 75.88403247511303,
2538 | "y": 117.98696431995063
2539 | }
2540 | }
2541 | },
2542 | {
2543 | "ID": "404",
2544 | "typeID": "Arrow",
2545 | "zOrder": "132",
2546 | "w": "58",
2547 | "h": "81",
2548 | "measuredW": "150",
2549 | "measuredH": "100",
2550 | "x": "663",
2551 | "y": "1151",
2552 | "properties": {
2553 | "color": "2848996",
2554 | "curvature": "-1",
2555 | "rightArrow": "false",
2556 | "p0": {
2557 | "x": -0.3043988890523224,
2558 | "y": -0.26718288652136835
2559 | },
2560 | "p1": {
2561 | "x": 0.4999999999999999,
2562 | "y": -1.864701424221031e-15
2563 | },
2564 | "p2": {
2565 | "x": 57.83569320217521,
2566 | "y": 81.08671793652888
2567 | }
2568 | }
2569 | }
2570 | ]
2571 | },
2572 | "attributes": {
2573 | "name": "New Wireframe 1",
2574 | "order": 1000000,
2575 | "parentID": null,
2576 | "notes": null
2577 | },
2578 | "branchID": "Master",
2579 | "resourceID": "B6CA7339-F49C-4092-AE87-CEB414431247",
2580 | "mockupH": "1605",
2581 | "mockupW": "1284",
2582 | "measuredW": "1388",
2583 | "measuredH": "1635",
2584 | "version": "1.0"
2585 | }
2586 | }
--------------------------------------------------------------------------------