Cái này có lẽ là đáy bể mò kim nhưng trong nhóm mình có ai quan tâm đến compilers cho học máy không?
Mình mang tiếng là kỹ sư nhưng trước giờ rất sợ hệ thống (systems engineering). Nên mỗi khi thấy chủ đề compilers thì chạy không còn dép. Nhưng càng làm trong ngành trí tuệ nhân tạo và đưa models vào các thiết bị cạnh (edge devices), mình càng thấy chủ đề compilers quan trọng.
Đại loại là: các phần cứng khác nhau có những yêu cầu khác nhau. CPU khác với GPU khác với TPU khác với một con chip từ ARM. Để model của bạn chạy ngon lành trên một phần cứng nào đó, bạn cần compiler để: 1/ chuyển đổi ứng dụng của bạn từ framework bạn dùng sang ngôn ngữ phần cứng đó hiểu được và 2/ tối ưu hoá ứng dụng đó trên phần ứng đó.
Về mặt lý thuyết, kỹ sư học máy như mình không cần biết về compilers. (Như người lập trình C++ không cần biết về C++ compiler để viết C++). Nhưng ngành học máy vẫn còn non trẻ, nên hiểu về compilers có thể giúp kỹ sư học máy chạy model của họ trên thiết bị họ muốn một cách hiệu quả.
Mình dành khá nhiều thời gian 3 tháng vừa qua học về compilers cho học máy từ nhiều người chuyên sâu trong ngành này. Đây là bài mình viết tóm tắt những gì mình học được. Bài viết hướng đến những người chưa hiểu sâu về compilers, như mình 3 tháng trước đây. Hy vọng bài viết có ích cho bạn!
Mình cũng đang học về mảng này, nên bạn nào có ý kiến đóng góp hay gợi ý nào mình cảm ơn.
同時也有7部Youtube影片,追蹤數超過44萬的網紅MakeLearningFun,也在其Youtube影片中提到,Programming become more and more important nowadays. Some people may think it is different to learn, but actually it is not! With the right tools and ...
「c-- compiler」的推薦目錄:
- 關於c-- compiler 在 Facebook 的最佳貼文
- 關於c-- compiler 在 BorntoDev Facebook 的最佳解答
- 關於c-- compiler 在 BorntoDev Facebook 的最佳解答
- 關於c-- compiler 在 MakeLearningFun Youtube 的最讚貼文
- 關於c-- compiler 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
- 關於c-- compiler 在 prasertcbs Youtube 的最讚貼文
- 關於c-- compiler 在 codecodecodesde/C--Compiler: a simple c-like language ... 的評價
- 關於c-- compiler 在 c++ - Error: C compiler "C:/Program Files..." is not able to ... 的評價
- 關於c-- compiler 在 C compile and run a C program with cmd 🏗️ (optional video) 的評價
- 關於c-- compiler 在 When does it make sense to compile my own language to C ... 的評價
- 關於c-- compiler 在 C++ Core Guidelines - GitHub Pages 的評價
c-- compiler 在 BorntoDev Facebook 的最佳解答
เคยไหม ? อยากเริ่มเขียน Python นะ อยากทำ Machine Learning จัง อยากลองสร้าง AI หรือว่าเห็น Data Science กำลังมา ก็อยากลองทำเหมือนกัน 🤔
.
💭 โห มีโปรเจกต์ที่อยากทำในหัวเยอะมาก แบบว่าอันนั้นก็น่าทำ อันนี้ก็น่าลอง อันนี้ก็เรียนรู้ไว้ก็ดีอะ ...แต่ขี้เกียจลงโปรแกรม ก็เลยไม่ได้เริ่มกับเขาสักที
.
👉 ถ้าคุณกำลังประสบปัญหานี้ล่ะก็ วันนี้เราขอนำเสนอตัวช่วยดี ๆ ที่จะทำให้การเริ่มเขียน Python ไม่ใช่เรื่องยากและวุ่นวายอีกต่อไป ! ตัวช่วยของเราในวันนี้ก็คือออ…
.
“Google Colab” นั่นเองจ้า เอาล่ะ ถ้าพร้อมไปต่อก็ลุยกันเลยยย !
.
📍 Google Colab คืออะไร ?
.
Google Colaboratory หรือที่มักเรียกกันสั้น ๆ ว่า Google Colab เป็นบริการจาก Google ที่ให้ผู้ใช้งานเขียนโค้ดภาษา Python บน Browser แบบไม่ต้องติดตั้งโปรแกรมอะไรเลย แล้วจะ Save โค้ดเราไว้อยู่บน Drive ทำให้เราสามารถแชร์โค้ดให้คนอื่นดูได้
.
นอกจากนี้ Google Colab ยังมีบริการ GPU มาให้เราเลือกอีกด้วย และถ้าเราจะทำสาย Data, Machine Learning หรือ AI เราก็สามารถ import library ต่าง ๆ ไม่ว่าจะเป็น numpy, matplotlib หรืออื่น ๆ ได้ตามต้องการ
.
และที่สำคัญ ทุกอย่างที่บอกมานั้น ฟรี ! แค่เรามีบัญชีของ Google เท่านั้นจ้า
.
📍 Google Colab ทำอะไรได้บ้าง ?
.
ไปดูฟีเจอร์ที่ Google Colab ทำได้กันดีกว่า ฟิ้ววว
.
🔸 เขียนและรันโค้ด Python
.
อันนี้ของมันแน่อะเนอะ เอาไว้เขียนโค้ด ก็ต้องเขียนโค้ดได้ ซึ่งการเริ่มต้นใช้งาน Google Colab เราจะต้องสร้าง Notebook ขึ้นมาก่อน ซึ่งเจ้า Notebook เปรียบเสมือนสมุดเล่มนึง ที่เราสามารถเขียนและเรียกใช้โค้ดบนนั้นได้ โดยใน Notebook นั้น เราจะเขียนโค้ดบนสิ่งที่เรียกว่า Code Cell
.
อ่านข้อมูลเพิ่มเติมได้ที่
https://colab.research.google.com/notebooks/basic_features_overview.ipynb
.
🔸 รองรับการเขียนสมการคณิตศาสตร์
.
แน่นอนว่า ในศาสตร์ของ Machine Learning, AI หรือแม้แต่งานสาย Data ยิ่งศึกษาลึกขึ้น ก็จะพบกับทั้งสูตรและสมการมากมายเต็มไปหมด และมันก็ต้องมีสักครั้งแหละ ที่เราอยากจะ Comment สมการเหล่านั้นซะเหลือเกิน ซึ่ง Google Colab ทำได้ ! โดยเราสามารถใช้ Text Cell เพื่อเขียนสมการคณิตศาสตร์ได้ด้วย Markdown Language นั่นเอง
.
อ่านข้อมูลเพิ่มเติมได้ที่
https://colab.research.google.com/notebooks/markdown_guide.ipynb
.
🔸 แชร์ Notebook ผ่าน Google Link
.
อย่างที่เกริ่นไปก่อนหน้านี้ เนื่องจาก Notebook ของเราถูกเก็บไว้บน Drive เพราะงั้นเราจึงสามารถแชร์ลิงก์ให้คนอื่นเข้ามาดู Notebook ของเราได้ง่าย ๆ เหมือนตอนเราใช้บริการ Google Docs หรือ Slides แล้วแชร์ลิงก์ให้เพื่อเข้ามาดูจ้า
.
🔸 Import ข้อมูลจาก Google Drive
.
ต่อจากข้อเมื่อกี้ ในเมื่อเป็นบริการจาก Google เหมือนกัน เจ้า Google Colab จึงรองรับการเชื่อมต่อกับ ดังนั้น Google Drive ไม่ว่าจะ Import หรือ Export ตัว Notebook ก็สะดวก แถมถ้าจะ Import ข้อมูลก็ทำได้เช่นกัน นอกจากนี้ ยัง Import ข้อมูลจาก External Data แหล่งอื่น ๆ ได้อีกนะ
.
อ่านข้อมูลเพิ่มเติมเกี่ยวกับ Drive และ External Data อื่น ๆ ได้ที่
https://colab.research.google.com/notebooks/io.ipynb
.
🔸 รองรับ TensorFlow
.
TensorFlow เป็น Library ประเภท Open-source จาก Google ที่ใช้ภาษา Python สำหรับคำนวณสูตรคณิตศาสตร์ต่าง ๆ รวมถึงอัลกอริทึมเพื่อพัฒนา Machine Learning ซึ่ง Google Colab เองก็สามารถ Import TensorFlow เข้ามาใช้ได้เช่นกัน
.
อ่านข้อมูลเพิ่มเติมได้ที่
https://colab.research.google.com/notebooks/tensorflow_version.ipynb
.
🔸 ใช้งาน Google Colab ร่วมกับ GitHub
.
สาย Dev อย่างเราคงคุ้นชินกับ GitHub กันพอสมควร (หรือถ้าเพื่อน ๆ มือใหม่ก็คงเคยได้ยินคำว่า Git กับ GitHub กันมาบ้าง) ซึ่งที่นี่ เราสามารถ Import Notebook จาก GitHub เข้ามายัง Google Colab ได้ รวมถึง Publish Notebook ของเราบน GitHub ได้เช่นกันจ้า
.
อ่านข้อมูลเพิ่มเติมได้ที่ https://colab.research.google.com/github/googlecolab/colabtools/blob/master/notebooks/colab-github-demo.ipynb
.
📍 อธิบายเพิ่มเติม
.
แอดขอเสริมสำหรับเพื่อน ๆ ที่มือใหม่ ภาษา Python เป็นภาษาประเภท Interpreted Language ซึ่งจะอ่านโค้ดทีละคำสั่ง แล้วจะมี Interpreter แปลงเป็นภาษาเครื่องเพื่อดำเนินการเลยคำสั่งนั้น ๆ เลย 💻
.
ต่างจากภาษาที่ใช้ Compiler เช่น C, C++, C#, Java ฯลฯ ที่จะต้องเขียนโค้ดให้เสร็จก่อน แล้วค่อยแปลงไฟล์เป็นไฟล์ Execution (ที่เราจะคุ้นหน้าคุ้นตาในรูปแบบของไฟล์ .exe) เพราะ Compiler จะแปลงทีเดียวทั้งไฟล์
.
กลับมาที่ Python พอเป็นแบบนั้นแล้ว ตัว Google Colab ที่มีหน้าตาเป็น Code Cell นั้น เมื่อเราพิมพ์โค้ดลงไป จึงกด Run เพื่อดูผลลัพธ์ได้เลยนั่นเอง ✨
.
👉 ถ้าใครสนใจ Google Colab ก็สามารถลองใช้งานได้ที่
https://colab.research.google.com/
.
👉 อ่านข้อมูลเพิ่มเติมและส่องฟีเจอร์ต่าง ๆ ได้ที่
https://colab.research.google.com/notebooks/welcome.ipynb
.
เป็นยังไงกันบ้าง เรียกได้ว่า “ครบจบที่บน Browser” จริง ๆ สำหรับ Google Colab ที่เราเอามาฝากวันนี้ 😂 ส่วนเพื่อน ๆ คนไหนกำลัง (อยาก) เริ่มเขียน Python หรือลองสร้างโปรเจกต์อยู่ แอดก็ขอเป็นกำลังใจให้ทุกคนเลยนะคะ ✊📦❤️
.
ถ้าชอบกดไลก์ ใช่กดแชร์ ให้กับแอดและทีม BorntoDev ด้วยน้า 🥺
แล้วเจอกันใหม่ สวัสดีจ้า~
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
c-- compiler 在 BorntoDev Facebook 的最佳解答
🔥 หมดปัญหาเรื่อง Import Library ไม่ครบ ใส่แค่นี้บรรทัดเดียวครบจบหมดทุกประการ
.
✨ สุดยอด Library กันตาย ของ C++ เมื่อจำ Library ที่ต้องใช้สอบไม่ได้ ก็ขอใช้วิธีนี้เลยละกันนะ
.
📚 ประโยชน์ของมันคือการเอา Library ทั้งหมดเข้ามาใช้เพียงแค่ Import ครั้งเดียวเท่านั้น!! แต่ถ้าในระดับการทำงานจริง วิธีนี้เป็นวิธีที่ไม่แนะนำให้ทำนะ เพราะข้อเสียของมันก็มีอยู่มากเหมือนกัน การที่เรา Import Library เข้าไปเป็นจำนวนมาก จะทำให้ใช้เวลาในการประมวลมากขึ้นด้วย
.
🔹 และอีกอย่างหนึ่ง มันไม่ใช่ Standard Header File ของ GNU C++ Library ทำให้ Compiler บางตัวรันไม่ได้ แล้วก็ Fail ในที่สุด
.
🌈 ท้ายที่สุดนี้ เราพยายามที่จะเลือก Library ที่จำเป็นมาใช้ในโค้ดของเรากันดีกว่า เพื่อจะได้พัฒนาตัวเองให้เป็น Dev ที่ดี และเพื่อพัฒนาโปรแกรมให้มีประสิทธิภาพยิ่งขึ้นนั่นเอง !!
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
c-- compiler 在 MakeLearningFun Youtube 的最讚貼文
Programming become more and more important nowadays. Some people may think it is different to learn, but actually it is not! With the right tools and resources, we believe every one can learn programming!
In this video, we explain hello world c++ program in detail such as iostream,
cout, less than operators, end , main function and return value of the program.
We also demonstration how the compiler can help us and some experiments about the return value.
If you want to watch more video from us, please
-do subscribe us!
-like the video and share to you friend who have kid on the facebook, tweeter, google+....etc
how to learn math
https://www.youtube.com/playlist?list...
stem projects
https://www.youtube.com/playlist?list...
Anpanman Educational Toys
https://www.youtube.com/playlist?list...
Learn Shapes for kids
https://www.youtube.com/playlist?list...
Learn letter A to Z
https://www.youtube.com/playlist?list...
Learn names of fruits and vegetables
https://www.youtube.com/playlist?list...
Learning street vehicles names and vehicle sounds
https://www.youtube.com/playlist?list...
Learn names of animal with animal sound
https://www.youtube.com/playlist?list...
c-- compiler 在 Untyped 對啊我是工程師 Youtube 的最佳貼文
什麼是Bug? 她教電腦說人話 編譯器的發明 | Grace Hopper - The Queen of Code【她也懂電腦】#1
-
你知道電腦是怎麼聽懂人話的嗎?你知道編譯器是誰發明的嗎?你知道工程師口中常常講的bug是什麼嗎?
Grace Hopper 葛麗絲·霍普 完全就是顛覆大眾對女性的刻板印象的例子。她發明了compiler,在電腦科學領域中有極大的貢獻,被稱為電腦科學之母。若是沒有Grace Hopper, 我們就不會有Java, C++, python 之類的程式語言了!除此之外,還在美國海軍中有很傑出的表現。連美國前總統歐巴馬都頒發給她總統自由勳章。快來聽聽葛麗絲·霍普的驚人事蹟吧!
【她也懂電腦】為響應國際婦女節而啟發的系列。證明電腦科學本不屬於男性專有,打破本不應存在的刻板印象。希望能讓更多人認識這些成就不可被藐視的電腦科學界的女英雄們,讓更多女孩願意擁抱這個也屬於我們的電腦科學世界。
「女性不是電腦科學的外來者,更不是新來的。而我們寫下了電腦科學的歷史,更是使其進步不可或缺的動力。」
#SheInspiresMe #InternationalWomensDay #她也懂電腦 #國際婦女節 #GraceHopper
一定要看到影片最後面並且在「YouTube影片下方」按讚留言訂閱分享唷!
-
感謝各位支持,本頻道破500訂閱了~雖然在YouTube的世界算是非常少,但你們的每一個訂閱跟觀看讚好,我都非常珍惜非常感激!凱心琳我會繼續努力!
#500subs
歡迎留言告訴我你的想法,或是你想認識的厲害女性唷!
每(隔週)週四晚上9點更新,請記得開啟YouTube🔔通知!
-
【相關連結】
The Extraordinary Life of the 'Queen of Code': A Grace Hopper Biography
(https://interestingengineering.com/the-extraordinary-life-of-the-queen-of-code-a-grace-hopper-biography)
Grace Hopper Nanosecond Visual Aid (https://youtu.be/s5XMoLgZZ38)
【What I used to make this video】
個人電腦:Apple MacBook Pro [https://amzn.to/2HKgI2T]
拍攝錄音錄影: iPhone X [https://amzn.to/3c0s6Fu]
相機: Canon 80D [https://amzn.to/2VVmiYz]
錄音: Rode [https://amzn.to/3aqnzL2]
鍵盤: Logitech MX Keys Wireless Keyboard [https://amzn.to/3awqi5L]
【愛屋及烏】
Facebook 臉書粉專 👉 [https://www.facebook.com/untyped/]
Instagram 👉 [[https://www.instagram.com/untypedcoding/]
合作邀約 👉 untypedcoding@gmail.com
-
Untyped 對啊我是工程師 - There are so many data types in the world of computer science, so are the people who write the code. We aim to UNTYPE the stereotype of engineers and of how coding is only for a certain type of people.
凱心琳: 一個喜歡電腦科學邏輯推理,在科技圈努力為性別平等奮鬥的女工程師。
-
This video contains affiliate links, which means that if you click on one of the product links, I'll receive a small commission.
圖片影片音效:[giphy.com] [pngwave.com][freesound.org]
c-- compiler 在 prasertcbs Youtube 的最讚貼文
สอนการใช้งาน cin เพื่อรับค่าตัวเลขจากแป้นพิมพ์
การแสดงผลทางจอภาพด้วย cout
การ run โปรแกรมที่เขียนด้วย C++ ผ่านทาง command prompt
ผู้สนใจสามารถดาวน์โหลด CLion IDE ได้ที่ https://www.jetbrains.com/clion/download/
ดาวน์โหลด MinGW C++ compiler ได้ที่ http://www.mingw.org/
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
c-- compiler 在 C compile and run a C program with cmd 🏗️ (optional video) 的推薦與評價
compile and run a c file with command prompt# C # compile #run⭐️Time ... 0. gcc -- version (check to see if you have a gcc compiler ) 1. cd ... ... <看更多>
c-- compiler 在 codecodecodesde/C--Compiler: a simple c-like language ... 的推薦與評價
C-- Compiler is a compiler for a subset of C language implemented by C++. It includes 4 components: Lexical Analyzer; Parser; Semantic Analysis; Code Generation. ... <看更多>