İçbükey tapınaktan Xiaocha
Qubit Raporu | Genel Hesap QbitAI
Makine öğrenimi uygulamasında, Shell'i iyi kullanmak size çok zaman kazandırabilir.
Son zamanlarda, ETHZ'den bir öğrenci bazı Shell ipuçlarını paylaştı. Programcılar için bu beceriler, düşüncenizi önemsiz konulardan kurtarmak ve iş verimliliğini büyük ölçüde artırmak için daha önemlidir.
Aşağıda paylaştığı 4 ipucu var. Bu makalede çok fazla kabuk komut dosyası olduğundan, tüm komut dosyalarının kaynak kodunu görüntülemek için makalenin sonundaki adrese gidebilirsiniz.
Uzak dosyaları getir
Uzak bir sunucuda çalışan programı izlediğinizde, uzaktaki bir dosyayı alıp yerel olarak görüntülemek istiyorsanız, genellikle ne yaparsınız?
Dosya yolunu bir yere not edin, terminali açın, yerel ile senkronize etmek için rsync gibi bir araç kullanın ve ardından dosya tarayıcısında görüntüleyin.
Aslında bu kadar zahmetli olmak zorunda değil. Tekrarlanan mekanik işçiliği önlemek için önceden yalnızca birkaç kabuk komut dosyası yazmanız gerekir.
Burada şiddetle tavsiye edilir iTerm 2 , Mac'in kendi terminalinden çok daha güçlüdür, karşılık gelen bir komutu yürütmek için bir tetikleyici anahtar kelime belirtebilirsiniz.
iTerm 2 indirme adresi: https://www.iterm2.com/
Önce uzak sunucuda bir komut dosyası oluşturun t . R awesome_video.mp4 girdiğimizde, awesome_video.mp4 dosyasının bulunduğu yolu arayacak ve ana bilgisayar adıyla birlikte rtransfer dizesini kullanacaktır. < ev sahibi > < yol > Formu yazdırmak için.
İTerm2'nin tetikleyici anahtar sözcüğü olarak rtransfer, ana bilgisayarı ve yolu çözümler ve ardından başka bir yerel komut dosyasını çağırır t2 . T2 betiği bu video dosyasını geçici bir dizine aktarır ve ardından bu dizinde Finder'ı açar.
Komut dosyalarını aramak için anahtar kelimeleri tetiklemek için iTerm 2'yi kullanmak, verimliliği büyük ölçüde artırabilir ve yapmanız gereken tek şey, komut dosyasını erken aşamada özelleştirmek için zaman harcamaktır.
TensorBoard'a uzaktan erişim
Uzak dosyaları almanın yanı sıra, başka bir acı verici şey de uzak sunucudaki TensorBoard örneğine erişmektir. SSH bağlantı noktası yönlendirmesini ayarlayabilirsiniz, ancak hangi bağlantı noktası hangi sunucuya karşılık gelir? Hepsi bir Docker konteynerinde.
Ngrok Yerel bağlantı noktasına erişimi bir erişim URL'si olarak değiştirmenize olanak tanır. Örneğin, ngrok http 6006'yı girdikten sonra sizin için bir URL oluşturur. TensorBoard örneğini bu adreste görüntüleyebilirsiniz.
Kombine komut dosyası n , Ngrok'u daha hızlı başlatın ve ardından komut dosyasını kullanın tb Bir web tarayıcısı açın, TensorBoard'u başlatın ve on saniye içinde çalışan dizinden ekran grafiğine geçebilirsiniz.
Ngrok'un bir dezavantajı, bir seferde yalnızca bir oturuma izin verebilmesidir, bu nedenle kullanmadan önce önceki ngork işlemini sonlandırmanız gerekir. Başka bir sunucuda ngrok'u öldürmeyi unutursanız, bu daha zahmetli olabilir.
ngrok indirme adresi: https://ngrok.com/
TensorBoard çizimi yerine tbplot kullanın
Çok sayıda metrik çalıştırma durumunda, TensorBoard'un tüm grafikleri yüklemesi için uzun süre beklememiz gerekir. Kullanılıyorsa tbplot Komut dosyası çok daha hızlıdır ve doğrudan görüntü dosyaları oluşturabilir.
tbplot aslında Matplotlib'i çağırır, dezavantajı yalnızca skaler grafikler oluşturabilmesidir.
tbplot indirme adresi: https://github.com/mrahtz/tbplot
Otomatik çarpışma algılama
Kod çalıştırırken, en çok enerji tüketen şey, hatalar ve çökmelerle karşılaşma konusunda endişelenmektir, bu nedenle işlemlerini sürekli kontrol etmeniz gerekir.
Programla ilgili bir sorun olduğunda, alarmlar aracılığıyla otomatik izleme bu endişeyi azaltabilir. Genellikle alarm posta kutusuna gönderilebilir, bu tür sorunlardan kaçınmak için kullanabilirsiniz sqs-uyarıları , Mesajları depolamak ve almak için AWS AWS Simple Queue hizmetine güvenir.
Her uzak makinede, bir komut dosyası çalıştırmak, günlüğü izlemek ve bir kesinti algılandığında kuyruğa bir mesaj göndermek için cron kullanın. Ardından, kuyruğu izlemek ve bir mesaj alındığında bir uyarı açmak için yerel makinede bir hizmet çalıştırın.
sqs-uyarıları indirme adresi: https://github.com/mrahtz/sqs-alerts
Son olarak, bu makalede kullanılan tüm kabuk komut dosyaları aşağıdaki adreste bulunabilir:
https://github.com/mrahtz/dotfiles/tree/master/.local/bin