- ยูเครนกำลังถูกโจมตีโดยกองทัพรัสเซีย พลเรือนกำลังถูกสังหาร พื้นที่อยู่อาศัยกำลังถูกทิ้งระเบิด
- ช่วยยูเครนผ่าน:
- มูลนิธิการกุศล Serhiy Prytula
- มูลนิธิการกุศล Come Back Alive
- ธนาคารแห่งชาติของประเทศยูเครน
- ข้อมูลเพิ่มเติมเกี่ยวกับ war.ukraine.ua และ MFA ของยูเครน
นี่คือชุดการทดลองแมชชีนเลิร์นนิงแบบโต้ตอบ การทดลองแต่ละครั้งประกอบด้วย ⁉️ สมุดบันทึก Jupyter/Colab (เพื่อดูว่าแบบจำลองได้รับการฝึกฝนอย่างไร) และ ? หน้าสาธิต (เพื่อดูแบบจำลองการทำงานในเบราว์เซอร์ของคุณ)
คุณอาจสนใจ Homemade GPT • JS
พื้นที่เก็บข้อมูลนี้มี การทดลองแมชชีน เลิร์นนิง ไม่ใช่ โค้ดและโมเดลที่พร้อมใช้งานจริง ใช้ซ้ำได้ ปรับให้เหมาะสม และปรับแต่งอย่างละเอียด นี่เป็นแซนด์บ็อกซ์หรือสนามเด็กเล่นสำหรับการเรียนรู้และลองใช้แนวทางแมชชีนเลิร์นนิง อัลกอริธึม และชุดข้อมูลต่างๆ โมเดลอาจทำงานได้ไม่ดีนักและมีที่สำหรับใส่มากเกินไป/ใส่น้อยเกินไป
โมเดลส่วนใหญ่ในการทดลองเหล่านี้ได้รับการฝึกฝนโดยใช้ TensorFlow 2 ที่รองรับ Keras
การเรียนรู้แบบมีผู้สอนคือเมื่อคุณมีตัวแปรอินพุต X
และตัวแปรเอาต์พุต Y
และคุณใช้อัลกอริธึมเพื่อเรียนรู้ฟังก์ชันการแมปจากอินพุตไปยังเอาต์พุต: Y = f(X)
เป้าหมายคือการประมาณฟังก์ชันการแมปให้ดีเมื่อคุณมีข้อมูลอินพุตใหม่ X
ซึ่งคุณสามารถทำนายตัวแปรเอาต์พุต Y
สำหรับข้อมูลนั้นได้ มันถูกเรียกว่าการเรียนรู้แบบมีผู้สอนเพราะกระบวนการของอัลกอริทึมการเรียนรู้จากชุดข้อมูลการฝึกอบรมถือได้ว่าเป็นครูที่ดูแลกระบวนการเรียนรู้
Multilayer Perceptron (MLP) คือคลาสของโครงข่ายประสาทเทียมแบบฟีดฟอร์เวิร์ด (ANN) เพอร์เซปตรอนหลายชั้นบางครั้งเรียกว่าโครงข่ายประสาทเทียม "วานิลลา" (ประกอบด้วยเพอร์เซปตรอนหลายชั้น) โดยเฉพาะอย่างยิ่งเมื่อมีเลเยอร์เดียวที่ซ่อนอยู่ สามารถแยกแยะข้อมูลที่ไม่สามารถแบ่งแยกเชิงเส้นได้
การทดลอง | การสาธิตโมเดลและการฝึกอบรม | แท็ก | ชุดข้อมูล | |
---|---|---|---|---|
การรู้จำตัวเลขที่เขียนด้วยลายมือ (MLP) | MLP | มินนิสต์ | ||
การรู้จำร่างด้วยลายมือ (MLP) | MLP | QuickDraw |
โครงข่ายประสาทเทียมแบบหมุนวน (CNN หรือ ConvNet) คือคลาสของโครงข่ายประสาทเทียมแบบลึก ซึ่งส่วนใหญ่นำไปใช้ในการวิเคราะห์ภาพที่มองเห็น (ภาพถ่าย วิดีโอ) ใช้สำหรับการตรวจจับและจำแนกวัตถุในภาพถ่ายและวิดีโอ การถ่ายโอนสไตล์ การจดจำใบหน้า การประมาณท่าทาง ฯลฯ
การทดลอง | การสาธิตโมเดลและการฝึกอบรม | แท็ก | ชุดข้อมูล | |
---|---|---|---|---|
การรู้จำตัวเลขที่เขียนด้วยลายมือ (CNN) | CNN | มินนิสต์ | ||
การรู้จำภาพร่างด้วยลายมือ (CNN) | CNN | QuickDraw | ||
กรรไกรกระดาษร็อค (CNN) | CNN | อาร์พีเอส | ||
กรรไกรกระดาษร็อค (MobilenetV2) | MobileNetV2 , Transfer learning , CNN | RPS, อิมเมจเน็ต | ||
การตรวจจับวัตถุ (MobileNetV2) | MobileNetV2 , SSDLite , CNN | โคโค่ | ||
การจำแนกภาพ (MobileNetV2) | MobileNetV2 , CNN | อิมเมจเน็ต |
โครงข่ายประสาทเทียมที่เกิดซ้ำ (RNN) คือคลาสของโครงข่ายประสาทเชิงลึก ซึ่งส่วนใหญ่นำไปใช้กับข้อมูลตามลำดับ เช่น คำพูด เสียง ข้อความ หรือเพลง ใช้สำหรับการแปลด้วยเครื่อง การรู้จำเสียง การสังเคราะห์เสียง ฯลฯ
การทดลอง | การสาธิตโมเดลและการฝึกอบรม | แท็ก | ชุดข้อมูล | |
---|---|---|---|---|
การรวมตัวเลข (RNN) | LSTM Sequence-to-sequence | สร้างอัตโนมัติ | ||
การสร้างข้อความของเช็คสเปียร์ (RNN) | LSTM Character-based RNN | เช็คสเปียร์ | ||
การสร้างข้อความวิกิพีเดีย (RNN) | LSTM Character-based RNN | วิกิพีเดีย | ||
การสร้างสูตร (RNN) | LSTM Character-based RNN | กล่องสูตร |
การเรียนรู้แบบไม่มีผู้ดูแลคือเมื่อคุณมีเฉพาะข้อมูลอินพุต X
และไม่มีตัวแปรเอาต์พุตที่สอดคล้องกัน เป้าหมายสำหรับการเรียนรู้แบบไม่มีผู้ดูแลคือการสร้างแบบจำลองโครงสร้างพื้นฐานหรือการกระจายตัวของข้อมูลเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับข้อมูล สิ่งเหล่านี้เรียกว่าการเรียนรู้แบบไม่มีผู้สอนเพราะไม่มีคำตอบที่ถูกต้องและไม่มีครูเหมือนการเรียนรู้แบบมีผู้สอนข้างต้น อัลกอริทึมถูกปล่อยให้เป็นของตัวเองในการค้นหาและนำเสนอโครงสร้างที่น่าสนใจในข้อมูล
เครือข่ายปฏิปักษ์ทั่วไป (GAN) คือคลาสของเฟรมเวิร์กการเรียนรู้ของเครื่องที่โครงข่ายประสาทเทียมสองเครือข่ายแข่งขันกันในเกม โมเดลสองแบบได้รับการฝึกฝนพร้อมกันโดยกระบวนการที่ขัดแย้งกัน ตัวอย่างเช่น เครื่องกำเนิด ("ศิลปิน") เรียนรู้ที่จะสร้างภาพที่ดูเหมือนจริง ในขณะที่ ผู้เลือกปฏิบัติ ("นักวิจารณ์ศิลปะ") เรียนรู้ที่จะแยกแยะภาพจริงนอกเหนือจากของปลอม
การทดลอง | การสาธิตโมเดลและการฝึกอบรม | แท็ก | ชุดข้อมูล | |
---|---|---|---|---|
การสร้างเสื้อผ้า (DCGAN) | DCGAN | แฟชั่น MNIST |
# Create "experiments" environment (from the project root folder).
python3 -m venv .virtualenvs/experiments
# Activate environment.
source .virtualenvs/experiments/bin/activate
# or if you use Fish...
source .virtualenvs/experiments/bin/activate.fish
หากต้องการออกจากสภาพแวดล้อมให้เรียกใช้ deactivate
# Upgrade pip and setuptools to the latest versions.
pip install --upgrade pip setuptools
# Install packages
pip install -r requirements.txt
หากต้องการติดตั้งแพ็คเกจใหม่ให้รัน pip install package-name
หากต้องการเพิ่มแพ็คเกจใหม่ให้กับข้อกำหนดให้รัน pip freeze > requirements.txt
เพื่อที่จะลองใช้โน้ตบุ๊ก Jupyter และดูว่าโมเดลต่างๆ ได้รับการฝึกฝนอย่างไร คุณต้องเปิดเซิร์ฟเวอร์ Jupyter Notebook
# Launch Jupyter server.
jupyter notebook
Jupyter จะพร้อมใช้งานเฉพาะที่ http://localhost:8888/
สมุดบันทึกที่มีการทดลองสามารถพบได้ในโฟลเดอร์ experiments
แอปพลิเคชันสาธิตสร้างขึ้นบน React โดยใช้ create-react-app
# Switch to demos folder from project root.
cd demos
# Install all dependencies.
yarn install
# Start demo server on http.
yarn start
# Or start demo server on https (for camera access in browser to work on localhost).
yarn start-https
การสาธิตจะมีให้บริการเฉพาะที่ http://localhost:3000/
หรือที่ https://localhost:3000/
สภาพแวดล้อมของ converter
ใช้เพื่อแปลงแบบจำลองที่ได้รับการฝึกในระหว่างการทดลองจากรูปแบบ .h5
Keras เป็นรูปแบบที่เข้าใจได้ของ Javascript (รูปแบบ tfjs_layers_model
หรือ tfjs_graph_model
ด้วยไฟล์ .json
และ .bin
) สำหรับการใช้งานเพิ่มเติมกับ TensorFlow.js ในแอปพลิเคชัน Demo
# Create "converter" environment (from the project root folder).
python3 -m venv .virtualenvs/converter
# Activate "converter" environment.
source .virtualenvs/converter/bin/activate
# or if you use Fish...
source .virtualenvs/converter/bin/activate.fish
# Install converter requirements.
pip install -r requirements.converter.txt
การแปลงโมเดล keras
เป็นรูปแบบ tfjs_layers_model
/ tfjs_graph_model
ทำได้โดย tfjs-converter:
ตัวอย่างเช่น:
tensorflowjs_converter --input_format keras
./experiments/digits_recognition_mlp/digits_recognition_mlp.h5
./demos/public/models/digits_recognition_mlp
การแปลงโมเดลเป็นรูปแบบที่เข้าใจได้ของ JS และโหลดลงในเบราว์เซอร์โดยตรงอาจไม่ใช่แนวทางปฏิบัติที่ดี เนื่องจากในกรณีนี้ ผู้ใช้อาจต้องโหลดข้อมูลจำนวนสิบหรือหลายร้อยเมกะไบต์ไปยังเบราว์เซอร์ซึ่งไม่มีประสิทธิภาพ โดยปกติแล้ว โมเดลจะให้บริการจากส่วนหลัง (เช่น TensorFlow Extended) และแทนที่จะโหลดทั้งหมดไปยังเบราว์เซอร์ ผู้ใช้จะใช้คำขอ HTTP แบบน้ำหนักเบาเพื่อทำการคาดการณ์ แต่เนื่องจากแอปสาธิตเป็นเพียงการทดลอง ไม่ใช่แอปที่พร้อมสำหรับการใช้งานจริง และเพื่อความเรียบง่าย (เพื่อหลีกเลี่ยงไม่ให้มีแบ็คเอนด์ที่พร้อมใช้งาน) เราจึงแปลงโมเดลเป็นรูปแบบที่เข้าใจได้ของ JS และโหลดโมเดลเหล่านั้นลงใน เบราว์เซอร์
รุ่นที่แนะนำ:
> 3.7.3
.>= 12.4.0
>= 1.13.0
. ในกรณีที่คุณมี Python เวอร์ชัน 3.7.3
คุณอาจพบ RuntimeError: dictionary changed size during iteration
เมื่อพยายาม import tensorflow
(ดูปัญหา)