http://deeplearning.net/tutorial/logreg.html'da verilen lojistik fonksiyonun kodunu okuyordum. Bir işlev için inputs
& givens
değişkenleri arasındaki fark hakkında kafam karıştı. Bir minibatch bir model tarafından yapılan hatalar hesaplamak işlevler şunlardır:'givens' değişkenlerinin amacı Theano.function
test_model = theano.function(inputs=[index],
outputs=classifier.errors(y),
givens={
x: test_set_x[index * batch_size: (index + 1) * batch_size],
y: test_set_y[index * batch_size: (index + 1) * batch_size]})
validate_model = theano.function(inputs=[index],
outputs=classifier.errors(y),
givens={
x: valid_set_x[index * batch_size:(index + 1) * batch_size],
y: valid_set_y[index * batch_size:(index + 1) * batch_size]})
Neden sadece/& y giriş değişkenleri paylaşılan x yapıp gerçek bir model örneği oluşturulduğunda onları tanımlanabilir izin vermedi biri olacağını olamazdı ?
orada değil, bu çok yararlı ve bu kavramların sahip olduğu fikirleri açıklığa kavuşturuyor, teşekkürler! – eickenberg
@nouiz - Teşekkürler, anladım anlatayım: – user1245262
@nouiz - Teşekkürler, anladım eğer göreyim: 1. 'Verilen' kullanımı, CPU ve GPU (ler) arasındaki Theano'nun bellek yönetimini iyileştirmektir. 2. 'Verilen' bir paylaşılan değişkeni * oluşturacaktır (sadece * eğer bir GPU'ya yerleştirilebiliyorsa). 3. Paylaşılan değişkenlerden farklı olarak, verilen değişkenler durumu koruyamaz - İşlev içinde kendileri için güncelleme oluşturamıyorum ve işlevin dışında değişirlerse, bu işleve sonraki çağrılar üzerinde hiçbir etkisi olmayacaktır ....... Herhangi bir komisyon veya ihmal hatası yaptım mı? ... Thx. (Üzgünüm - yanlışlıkla 1 yorum girildi ve çok uzun bir düzenleme yapıldı) – user1245262