codegenius tarafından yazılmış tüm yazılar

Ender 3 S1 Pro – Cura Profili Oluşturma

Merhaba arkadaşlar,

Ender 3 S1 Pro için Cura’da hazır bir profil bulunmuyor. Bu yazımda Creality Slicer profilini kullanarak yazıcımızı Cura’ya tanıtacağız. Cura versiyonu: 5.2.1

1.Yazıcı Profili Ekleme

Öncelikle Creality Slicer uygulamasını indirelim ve kuralım. Şu anda ben 4.8.2 versiyonunu kullanıyorum. Aşağıdaki linkten indirip kurabilirsiniz.

Creality Slicer-4.8.2

Crealilty Slicer’ı yükledikten sonra Ender 3 S1 Pro’nun profil dosyasını Cura’nın içerisine kopyalayacağız. Böylece printer ekleme ekranında otomatik olarak Ender 3 S1 Pro görünecek.

ender3s1pro_creality_slicer_def

Default ayarlar ile kurduysanız bu dosyaya aşağdaki adresten erişebilirsiniz:

C:\Program Files\Creality Slicer 4.8.2\resources\definitions

Buradaki creality_ender3s1pro.def.json dosyasını:

C:\Program Files\Ultimaker Cura 5.2.1\share\cura\resources\definitions

içerisine kopyalayalım.

Dosyayı kopyaladıktan sonra Cura’yı -eğer açıksa- kapatıp yeniden başlatalım.

Printer ekleme ekranını açalım ve Creality3D altında Ender 3 S1 Pro’yu seçelim. Böylece profil tanımı tamamlanmış olacak.

Sırada ise nozzle tanımları var. Eğer nozzle tanımı yapmazsanız filament ekranı empty görünecektir.

2.Nozzle Tanımlarını Ekleme

Creality Slicer içerisinde 0.4mm nozzle tanımını Cura’ya uyacak şekilde değiştirip ilgili dizine kopyalamamız gerekiyor.

Sizin için kolaylık olması açısından 0.1 – 1.0mm nozzle tanımlarının olduğu aşağıdaki dosyayı hazırladım. Buradaki dosyaları cura içerisine kopyalayarak kolayca nozzle tanımını yapabilirsiniz.

Aşağıdaki linkten nozzle tanımlarını indirelim:

Ender-3-S1-Pro-Nozzle-Variants

Dosyayı açalım ve içerisindeki dosyaları:

C:\Users\{Kullanıcı Adınız}\AppData\Roaming\cura\5.2\variants

içerisine kopyalayalım. Örneğin benim bilgisayarım için link:

C:\Users\StayA\AppData\Roaming\cura\5.2\variants

Ender 3 S1 Pro Cura Nozzle Variants

Cura’yı tekrar başlatalım. Yazıcımız ve nozzle ayarlarımız sıkıntısız bir şekilde çalışacaktır.

Cura 5.2.1 Ender3-S1-Pro-Profil ve Nozzle

Kolaylıklar dilerim.

Kaynaklar ve bağlantılar:

  1. Ricky Impey’s Video
  2. Cura
  3. Creality Slicer
  4. Nozzle Diameters

Loading

Facebooktwitterredditpinterestlinkedinmail

Transformer Neural Networks – 1 – Genel Mimari ve Giriş

Bu yazı serimizde popüler bir yapay zeka modeli olan Transformer ağlarını detaylı olarak inceleyeceğiz.

Orijinal Transformer tanımı ilk defa 2017 yılında Vaswani ve arkadaşları tarafından yayınlanan Attention is All You Need makalesinde geçmektedir. Burada biz de bu makalede bahsedilen Transformer modelini temel alacağız.

Orijinal Transformer modeli üst üste binmiş 6 katmandan (layer) oluşur. l katmanının çıktısı son tahmine (final prediction) gelene kadar l+1 katmanının girdisidir.

Transformer Architecture
Transformer Mimarisi

Transformer ile attention, recurrence(yineleme)’ın yerini almıştır. İki kelimenin arası arttıkça yineleme miktarının da artacağını düşünürsek bu hem işlem, hem de performans olarak aşırı yük getirecektir. Oysa attention mekanizması word-to-word bir işlemdir. Attention’ın temel amacı kelimenin diğer kelimelerle, kendisi de dahil olmak üzere nasıl bir ilişkisi olduğunu belirlemektir.

Aşağıdaki cümle üzerinden akışın nasıl ilerlediğini anlamaya çalışalım:

The cat sat on the mat.

Attention word vektörleri arasında dot product yapacak ve diğer tüm wordler arasındaki kendisi de dahil olmak üzere ilişkiyi ortaya koyacaktır.

Attention mekanizması. Dot product işlemleri
“cat” kelimesi için attention örneği

Her bir attention altkatmanı (orijinal Transformer modeli için ) tek tek değil 8’li şekilde paralel olarak çalışır böylece hesaplamalar hızlanır. Bu işleme multi-head attention adı verilir.

Multi-head attention:

  • Metin sekanslarının daha derinlemesine analizini
  • Yinelemenin engellenerek hesaplama işlemlerinin azaltılmasını
  • İşlemlerin paralel şekilde yapılarak eğitim zamanının düşürülmesini
  • Her attention mekanizmasının aynı inputu farklı perspektifler ile öğrenmesini

sağlar.

Dipnot: Attention mekanizmasının recurrence(yineleme) yerine geçmesinin Transformer modelinin en büyük değişikliklerinden birisi olduğunu söyledik, ancak bu mimariyi çok daha efektif kılan başka özelliklerden de ileriki serilerimizde bahsedeceğiz. Transformer’ın sadece recurrence'(yineleme)ı yok ettiğini düşünmeyelim.

Loading

Facebooktwitterredditpinterestlinkedinmail

Yapay Sinir Ağlarında Veri Gösterimi – TENSOR

TENSOR Nedir?

Temel olarak tensor, makina öğrenmesi sistemlerinde verinin tutulması için kullanılan bir yapıdır diyebiliriz. Örneğin matrisleri 2D tensor olarak adlandırabiliriz. Tensor, matrislerin rastgele sayıda boyuta genişletilmesidir. Tensor bağlamında boyut(dimension) yerine daha çok eksen(axis) terimi kullanılır.

Scalars (0D Tensor)

Tek bir sayı içeren tensorlere scalar denir. (0D tensor). Örneğin Numpy’de float32 ve float64 sayıları bir scalar tensor’dür. Numpy’de tensor’ün eksenlerini ndim attribute’ü ile gösterebiliriz. Scalar bir tensor’de 0 boyut vardır. (ndim==0). Tensor’un eksen sayısına aynı zamanda onun rank’I(derecesi) denir. Örnek bir Numpy scalar’ı aşağıdaki gibidir.

>>> import numpy as np
>>> x = np.array(84)
>>> x
array(84)
>>> x.ndim
0

Vectorler (1D Tensorler)

Sayılar dizisine vektör veya 1D tensor deriz. 1D tensor’de sadece bir eksen bulunur. Örnek bir Numpy vektörü aşağıdaki gibidir:

>>> import numpy as np
>>> x = np.array([12, 24, 5, 6, 26])
>>> x
array([12, 24, 5, 6, 26])
>>> x.ndim
1

Burada vektörümüzün 5 girdisi bulunur. Yani bu vektöre 5-boyutlu-vektör diyebiliriz. Burada en önemli şey 5D vektör ile 5D tensor’ü karıştırmamaktır. 5D vektörde bir eksen ve 5 boyut bulunurken 5D tensorde 5 eksen ve bu eksenlere ait bir çok boyut bulunabilir.

Matrisler (2D Tensorler)

Vektör dizilerini matris veya 2D tensor olarak adlandırabiliriz. Matrisin iki ekseni satırlar(rows) ve sütunlar(columns) diye adlandırılır. Örnek bir Numpy matrisi:

>>> import numpy as np
>>> x = np.array([[5, 78, 2, 34, 0],
[6, 79, 3, 35, 1],
[7, 80, 4, 36, 2]])
>>> x.ndim
2

Burada ilk eksene satırlar ikinci eksene sütunlar denir. Bizim örneğimiz için x’in ilk satırı [5, 78, 2, 34, 0], ilk sütunu ise [5, 6, 7] dir.

3D ve daha fazla boyutlu Tensorler

Örneğin matrislerden bir dizi elde etmek istersek 3D tensor elde ederiz. Aynı şekilde 3D tensorlerden bir dizi oluşturursakda 4D tensor elde ederiz. Derin öğrenmede genede 0D ve 4D tensorleri kullanacağız. Bazı durumlarda örneğin video verisi işlerken 5D tensorlerden faydalanabiliriz.

>>> x = np.array([[[5, 78, 2, 34, 0],
[6, 79, 3, 35, 1],
[7, 80, 4, 36, 2]],
[[5, 78, 2, 34, 0],
[6, 79, 3, 35, 1],
[7, 80, 4, 36, 2]],
[[5, 78, 2, 34, 0],
[6, 79, 3, 35, 1],
[7, 80, 4, 36, 2]]])
>>> x.ndim
3

Tensorlerin Anahtar Özellikleri

Bir tensorde temel olarak üç özellikten bahsedebiliriz. Bunlar:
1. Eksen Sayısı(Rank): Tensorün eksenini belirtir.

2. Form (Shape):
Tensor’ün formu her eksen kaç boyut olduğunu söyler. Örneğin yukarıdaki örnek matrisimizde matrisin formu (3,5)
3D tensorde ise (3,3,5)’tir.

3. Veri Tipi (Data Type)
Tensor için bulunan verinin tipini belirtir. bir tensorun içinde bulunan verinin tipi float32, uint8, float64 olabilir. Çok nadir durumlarda veri tipi char da olabilir. Ancak string tensorler Numpy ve çoğu diğer tensor kütüphanelerinde desteklenmez. Çünkü tensorler allocate edildikleri anda bellekte yaşarlar, sürekli hafıza segmentlerinde tutulurlar. Stringler ise değişken boyutlu olacağı için bu şekilde implement etmek zor olacaktır.


Loading

Facebooktwitterredditpinterestlinkedinmail

Linux Mint 18.3 Ses Cihazlarının Kaybolması(ANYDESK)

Merhaba,

linux-mint ses hatası

Kısa bir süre önce bilgisayarımın ses cihazlarını tanımaması sorunuyla karşılaştım. Aşağıdaki komutu çalıştırıp cihaza reset attıktan sonra sen başta geliyor daha sonra kendi kendine gidiyordu.

sudo alsa force-reload

Biraz kurcaladıktan sonra sebebinin son zamanlarda kurduğum AnyDesk uygulaması olduğunu farkettim. Uygulama bilgisayarım boot olduktan sonra otomatik başlıyor ve ses cihazlarının yok olmasına sebep oluyordu.

Aşağıdaki komutla AnyDesk’i bilgisayarınızdan kaldırarak sorunu düzeltebilirsiniz.

sudo apt-get purge anydesk

Kaynak: https://forums.linuxmint.com/viewtopic.php?t=268824

İyi kodlamalar,

Loading

Facebooktwitterredditpinterestlinkedinmail