Fastai | Bagaimana hendak memulakan?

Kenapa soalan ini ?

Persoalan "Bagaimana untuk memulakan dengan Fastai?" Mungkin kelihatan tidak sepadan.

Hanya menonton video pertama, bukan? Tidak.

Saya mempunyai pengalaman berganda dengan Fastai. Saya pertama kali menjadi ahli program Fellowship Antarabangsa (bahagian 1 dan 2) sebagai pelajar dari Oktober 2017. Kemudian, dengan rakan-rakan lain, saya melancarkan pada tahun 2018 kumpulan pembelajaran Deep Learning di Brasilia menggunakan kursus Fastai (bahagian 1, maka hari ini bahagian 2 dan juga tentang ML). Jadi saya juga menjadi pengajar menggunakan kandungan Fastai.

Ia berdasarkan pengalaman berganda ini dengan Fastai yang saya terbitkan hari ini panduan permulaan untuk peserta baru kursus kami di Brasilia serta bagi semua yang ingin memulakan perjalanan mereka ke Kecerdasan Buatan (AI) dengan menggunakan Perpustakaan Fastai.

Pembelajaran Mesin dalam beberapa perkataan

Hari ketika bayi pertama dengan Kecerdasan Buatan akan masuk ke dunia bukan untuk esok. Buat masa ini, setiap AI perlu diwujudkan oleh manusia ... dan kita memerlukan kod untuk itu!

Di luar robot dan manipulasi genetik, AI mengambil bentuk algoritma yang mesti dilatih untuk belajar (sering merupakan model rangkaian saraf buatan).

Dalam praktiknya, parameter algoritma (juga dikenali sebagai berat) pada mulanya mempunyai nilai rawak yang dikemas kini menggunakan pemerhatian (juga dipanggil contoh) yang disediakan untuk algoritma. Kaedah ini dipanggil "pembelajaran dari dataset" atau Pembelajaran Mesin (kaedah Deep Learning hari ini sangat popular dan digunakan secara meluas adalah Pembelajaran Mesin dengan pengiraan kedalaman yang besar).

Sesungguhnya setiap pemerhatian yang diberikan kepada algoritma membolehkan ia mengira hasil ramalan (selalunya kebarangkalian) sifat pemerhatian ini, melalui operasi matematik yang dilakukan dengan parameternya (contohnya, jika pemerhatian adalah imej kucing, ramalan hasil mesti menunjukkan kelas sepadan dengan kucing). Kesalahan berkenaan dengan nilai sebenar pemerhatian kemudian membolehkan kemas kini nilai-nilai parameter (sering dengan menggunakan kaedah BackPropagation kecerunan ralat).

Latihan tersebut akan diteruskan dengan pemerhatian baru dan sebagainya.

Perpustakaan untuk melaksanakan Pembelajaran Mesin

Oleh itu, Pembelajaran Mesin (ML) mempunyai data, kapasiti pengiraan ... dan algoritma. Oleh itu, kita mesti menggunakan bahasa untuk pengkodan untuk melaksanakan algoritma ini, melatih mereka, menguji mereka dan kemudian menggunakannya dalam pengeluaran.

Sejak awal tahun 2010, tarikh yang menandakan permulaan penggunaan besar-besaran AI, bahasa Python telah menjadi bahasa untuk pembangunan algoritma ML dan Deep Learning (DL) dalam buku nota Jupyter.

Oleh kerana seni bina algoritma ini akan diseragamkan, perpustakaan telah dibangunkan untuk memudahkan penggunaannya sebagai TensorFlow (Google) dengan Keras, kemudian PyTorch (Facebook) dengan Fastai.

Fastai, lebih daripada sebuah perpustakaan

Fastai adalah perpustakaan pelaksanaan ML dan DL algoritma dan juga tajuk kursus yang bermula di Institut Data Universiti San Francisco dan kini boleh didapati secara dalam talian (1 kursus mengenai ML dan kursus 2 kursus mengenai DL).

Tetapi penciptanya Jeremy HOWARD dan Rachel THOMAS pergi lebih jauh. Ia juga merupakan kaedah pembelajaran atas ke bawah yang membolehkan pembelajaran dengan melakukan, serta komuniti lebih 10,000 orang hari ini (baca "Pelancaran fast.ai" dari Jeremy Howard, Oktober 2016).

Setiap kursus mempunyai video yang boleh dimuat turun secara bebas, thread forum dan buku nota jupyter yang berjalan melalui perpustakaan fastai.

Bagaimana untuk memulakan dengan Fastai? Panduan dalam 4 langkah

Saya melihat terlalu banyak peserta dalam kursus kami di Brasilia sama ada untuk berhenti atau tidak dapat benar-benar mengambil kesempatan daripada kursus kerana 4 sebab utama: python, buku nota Jupyter, GPU dan kerja rumah.

1) Python

Python adalah bahasa pengaturcaraan yang digunakan dalam kursus Fastai dan notebooknya. Sekiranya tidak penting menjadi pakar python untuk mengikuti kursus Fastai, perlu mempunyai amalan yang minimum.

Kursus dalam talian:

  • Buku Nota Python Pertama
  • Tutorial Sains Data Python
  • Kursus Python di Coursera
  • Buku: Pembelajaran Deep dengan Python (François Chollet)

2 perpustakaan Python berikut sangat digunakan dalam notebook Fastai tetapi anda boleh belajar mereka semasa kursus (mereka bukan prasyarat).

NumPy

NumPy adalah pakej asas untuk pengkomputeran saintifik dengan Python. Ia membolehkan operasi matematik pada tatasusunan, matriks, vektor dan tensor dimensi tinggi seolah-olah ia adalah pembolehubah Python.

Kursus dalam talian: Tutorial Numpy dan Tutorial Numpy Python.

Pandas

Pandas adalah sumber terbuka, perpustakaan berlesen BSD yang menyediakan struktur data berprestasi tinggi dan mudah digunakan (contohnya: fail csv) dan alat analisis data untuk bahasa pengaturcaraan Python. Pandas berfungsi dengan baik dengan NumPy.

  • Curso de Introdução a Análise de Dados (em português)
  • Kursus dalam talian: senarai tutorial mengenai panda.

2) buku nota Jupyter

Projek Jupyter wujud untuk membangunkan perisian sumber terbuka, piawaian terbuka, dan perkhidmatan untuk pengkomputeran interaktif dalam berpuluh-puluh bahasa pengaturcaraan dan khususnya Python. Anda akan menggunakan buku nota Jupyter untuk melaksanakan semua algoritma ML atau DL anda.

Kursus dalam talian:

  • 1: 30: 521: Pengenalan kepada buku nota Jupyter
  • Jupyter Notebook Commands & Shortcuts
    - Jupyter Notebook Commands & Shortcuts1
    - 28 Jupiter Notebook tip, helah dan pintasan
  • Usar "Sel-sel jupperter yang boleh dikembangkan / diperluaskan" dalam buku nota jupyter
  • Sebuah galeri Jupyter Notebook yang menarik: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks1

3) GPU

Sebaik sahaja anda tahu sekurang-kurangnya Python dan tahu bagaimana menggunakan komputer riba Jupyter, anda perlu memasang perpustakaan Fastai dan buku notanya di pelayan dengan GPU.

Nota: jika anda tidak mempunyai GPU NVIDIA tempatan dan jika anda tidak mahu menggunakannya secara dalam talian, anda boleh memasang Fastai di komputer anda dan hanya menggunakan CPU anda tetapi kemudian, ia mengambil sedikit masa untuk mendapatkan hasil latihan ML anda / Model DL ...

Kenapa GPU? Anda memerlukannya apabila melatih algoritma ML atau DL untuk mengurangkan masa latihan. Tanpa GPU, anda tidak akan dapat melatih "dengan mudah" algoritma ML atau DL dengan berjuta-juta data.

Selain instalasi CPU tempatan, anda mempunyai 2 kemungkinan: sama ada mengkonfigurasi GPU tempatan anda jika komputer anda mempunyai satu seperti GPU NVIDIA, atau anda boleh menyewa satu talian menggunakan Google Cloud, Google Colab, PaperSpace, AWS atau yang lain-lain.

Panduan dalam talian: baca "GPU (Unit Pemprosesan Grafik)" perenggan artikel "Pembelajaran Jernih Brasília - Revisão" yang mengandungi pautan.

CPU tempatan

Baca dokumen README.md tetapi ikuti langkah-langkah di bawah:

  1. memasang Anaconda untuk Windows
  2. Membuka terminal "Anaconda Prompt" (yang dipasang oleh Anaconda) dan digit arahan berikut di terminal ini.
  3. mkdir fastai (untuk membuat folder fastai)
  4. cai fastai (untuk memasukkan fastai folder)
  5. git clone https://github.com/fastai/fastai.git (untuk memuat turun fail Fastai termasuk buku nota dan fail untuk memasang persekitaran maya fastai-cpu: pytorch, perpustakaan numpy, panda, bcolz, dll)
  6. conda env update -f environment-cpu.yml (PENTING: gunakan file environment-cpu.yml kerana anda ingin menggunakan CPU anda, bukan GPU)
  7. conda mengaktifkan fastai-cpu (untuk mengaktifkan persekitaran virtual fastai-cpu)
  8. kursus cd \ ml1 (masukkan dalam folder ml1 sebagai contoh)
  9. del fastai (memadam fastai symlink yang dibuat untuk dijalankan dalam lingkungan bash)
  10. mklink / d fastai .. \ .. \ fastai (buat tingkap symlink fastai ke folder fastai yang mempunyai fail-fail perpustakaan Fastai)
  11. cd .. \ .. (keluar dari folder ml1 untuk kembali ke root folder yang dibuat dalam langkah 3)
  12. buku nota jupyter (melancarkan buku nota jupyter yang akan dibuka dalam pelayar web)

"Et voilà": anda mempunyai perpustakaan Fastai (dan notebooknya) yang dipasang pada komputer anda dengan CPU dan anda boleh menjalankan semua buku nota folder ml1.

GPU tempatan

  • Howto: pemasangan pada Windows

GPU dalam talian

  • Platform Awan Google (kredit 300 $)
  • Paperspace (kredit 15 $)
  • Clouderizer + Google Colab (PERCUMA !!!)
  • Perkhidmatan Web Amazon (AWS)
  • Crestle

Jangan lupa untuk mematikan mesin maya anda !!!

4) Kerja Rumah

Jeremy Howard bercakap tentang 10 jam kerja peribadi untuk setiap video kelasnya ... dan dia betul!

Sesungguhnya, jika anda ingin belajar bagaimana melakukan ML dan DL dan bukan hanya memahami prinsip-prinsip, anda mesti PRAKTIK.

Unsur-unsur yang dipaparkan di atas (secara ringkas, mengetahui bahasa python dan bagaimana menggunakan komputer riba Jupyter, dan telah memasang perpustakaan Fastai pada GPU) adalah prasyarat NECESSARY tetapi tidak cukup.

Untuk benar-benar belajar, anda perlu menonton beberapa kali video, jalankan notebook Fastai, mengkaji garisan kod, bertanya soalan di forum Fastai apabila anda tidak faham, jawab soalan yang ditanya oleh orang lain dan siarkan artikel untuk meningkatkan pemahaman anda. Ini adalah pembelajaran sebenar!

Satu lagi perkataan: ENJOY! :-)