Perpustakaan ringan untuk grafik jaringan saraf dan metrik pelatihan untuk Pytorch, TensorFlow, dan Keras.
HiddenLayer sederhana, mudah diperluas, dan bekerja sangat baik dengan Jupyter Notebook. Ini tidak dimaksudkan untuk menggantikan alat canggih, seperti Tensorboard, melainkan untuk kasus di mana alat canggih terlalu besar untuk tugas tersebut. Hiddenlayer ditulis oleh Waleed Abdulla dan Phil Ferriere, dan dilisensikan di bawah lisensi MIT.
Gunakan HiddenLayer untuk membuat grafik jaringan saraf Anda di Jupyter Notebook, atau ke file PDF atau PNG. Lihat contoh notebook Jupyter untuk TensorFlow, Pytorch, dan Keras.

Grafik dirancang untuk mengomunikasikan arsitektur tingkat tinggi. Oleh karena itu, detail tingkat rendah disembunyikan secara default (mis. OP inisialisasi berat, gradien, operasi internal jenis lapisan umum, ... dll.). HiddenLayer juga melipat urutan lapisan yang umum digunakan bersama -sama. Misalnya, urutan konvolusi -> relu -> maxpool sangat umum, sehingga mereka digabungkan menjadi satu kotak untuk kesederhanaan.
Menyesuaikan grafik
Aturan untuk menyembunyikan dan melipat node sepenuhnya dapat disesuaikan. Anda dapat menggunakan graph expressions dan transforms untuk menambahkan aturan Anda sendiri. Misalnya, aturan ini melipat semua node blok bottleneck dari resnet101 menjadi satu node.
# Fold bottleneck blocks
ht.Fold("((ConvBnRelu > ConvBnRelu > ConvBn) | ConvBn) > Add > Relu",
"BottleneckBlock", "Bottleneck Block"),

Jika Anda menjalankan eksperimen pelatihan di Jupyter Notebook maka Anda mungkin menemukan ini bermanfaat. Anda dapat menggunakannya untuk merencanakan kehilangan dan akurasi, histogram bobot, atau memvisualisasikan aktivasi beberapa lapisan.

Di luar Jupyter Notebook:
Anda dapat menggunakan HiddenLayer di luar Jupyter Notebook juga. Dalam skrip Python yang berjalan dari baris perintah, itu akan membuka jendela terpisah untuk metrik. Dan jika Anda berada di server tanpa GUI, Anda dapat menyimpan snapshot dari grafik ke file PNG untuk inspeksi nanti. Lihat history_canvas.py untuk contoh kasus penggunaan ini.
Hiddenlayer adalah perpustakaan kecil. Ini mencakup dasar -dasarnya, tetapi Anda mungkin perlu memperpanjangnya untuk kasus penggunaan Anda sendiri. Misalnya, Anda ingin mewakili akurasi model sebagai diagram lingkaran daripada plot. Ini dapat dilakukan dengan memperluas kelas Canvas dan menambahkan metode baru seperti itu:
class MyCanvas(hl.Canvas):
"""Extending Canvas to add a pie chart method."""
def draw_pie(self, metric):
# set square aspect ratio
self.ax.axis('equal')
# Get latest value of the metric
value = np.clip(metric.data[-1], 0, 1)
# Draw pie chart
self.ax.pie([value, 1-value], labels=["Accuracy", ""])
Lihat pytorch_train.ipynb atau tf_train.ipynb sebagai contoh.

Notebook keras_train.ipynb berisi contoh pelatihan aktual yang menggambarkan cara membuat Canvas khusus untuk memplot matriks kebingungan di samping metrik validasi:

Pytorch:
pytorch_graph.ipynb : Buku catatan ini menunjukkan cara menghasilkan grafik untuk beberapa model Pytorch yang populer.pytorch_train.ipynb : menjelaskan pelacakan dan menampilkan metrik pelatihan.history_canvas.py : Contoh menggunakan HiddenLayer tanpa GUI.Tensorflow:
tf_graph.ipynb : Buku catatan ini menggambarkan cara menghasilkan grafik untuk berbagai model SLIM TF.tf_train.ipynb : Menunjukkan pelacakan dan memvisualisasikan metrik pelatihan dengan TensorFlow.history_canvas.py : Contoh menggunakan HiddenLayer tanpa GUI.Keras:
keras_graph.ipynb : Buku catatan ini menggambarkan cara menghasilkan grafik untuk berbagai model keras.keras_train.ipynb : Mendemonstrasikan grafik model, visualisasi metrik pelatihan, dan cara membuat panggilan balik keras khusus yang menggunakan Canvas subklas untuk merencanakan matriks kebingungan di akhir setiap zaman pelatihan.HiddenLayer dirilis di bawah lisensi MIT. Jangan ragu untuk memperpanjang atau menyesuaikannya dengan kebutuhan Anda. Jika Anda menemukan bug, yang kemungkinan karena ini adalah rilis awal, silakan laporkan atau kirimkan permintaan tarik.
Jika Anda ingin menyumbangkan fitur baru, berikut adalah beberapa hal yang ingin kami tambahkan tetapi tidak pernah berhasil:
A. Python3, Numpy, Matplotlib, dan Jupyter Notebook.
B. Baik tensorflow atau pytorch
C. GraphViz dan pembungkus Python -nya untuk menghasilkan grafik jaringan. Cara termudah untuk menginstalnya
Jika Anda menggunakan conda:
conda install graphviz python-graphvizJika tidak:
pip3 install graphvizGunakan ini jika Anda ingin mengedit atau menyesuaikan perpustakaan secara lokal.
# Clone the repository
git clone [email protected]:waleedka/hiddenlayer.git
cd hiddenlayer
# Install in dev mode
pip install -e .pip install hiddenlayersite-packages Anda langsung dari GitHubGunakan yang berikut jika Anda hanya ingin menginstal versi terbaru dari perpustakaan:
pip install git+https://github.com/waleedka/hiddenlayer.git