أهلا،
كنت أحاول إضافة ضجيج Gumbel كما هو موضح هنا ، لكن لم ينجح.
يبدو أن العديد من الوحدات النمطية لا تزال مفقودة (على سبيل المثال ، وظائف المتغير الأساسية مثل nn.Uniform ()) ، أم أنني مخطئ؟ كيف ستنفذ في pytorch ، على سبيل المثال الصفوف التالية:
"- إنشاء وحدة عينة ضوضاء
وحدة الضوضاء المحلية = nn.Sequential ()
no iseModule: add (n.Uniform (0، 1)) - عينة من U (0، 1)
- تحويل عينة موحدة لعينة Gumbel
no iseModule: add (nn.AddConstant (1e-9، true)) - تحسين الاستقرار العددي
لا iseModule: add (nn.Log ())
no iseModule: add (nn.MulConstant (-1 ، صحيح))
no iseModule: add (nn.AddConstant (1e-9، true)) - تحسين الاستقرار العددي
لا iseModule: add (nn.Log ())
no iseModule: add (nn.MulConstant (-1 ، صحيح))
- إنشاء جهاز أخذ العينات q (z) = G (z) = softmax ((log (π) + ε) / τ) (خدعة إعادة تحديد المعايير)
العينات المحلية = nn.Sequential ()
محلي samplerInternal = nn.ConcatTable ()
نموذج r داخلي: إضافة (nn.Identity ()) - سجل احتمالات السجل غير الطبيعي (π)
نموذج r داخلي: إضافة (NoiseModule) - إنشاء ضوضاء ε
sampler : add (samplerInternal)
sampler : add (nn.CAddTable ())
self.temperature = nn.MulConstant (1 / self.tau، true) - درجة الحرارة τ لـ softmax
العيّنة: add (self.temperature)
sampler : add (nn.View (-1، self.k)) - قم بتغيير الحجم للعمل على k
أخذ العينات: add (nn.SoftMax ())
sampler : add (nn.View [-1، self.N * self.k)) - تغيير الحجم للخلف
""
ها أنت ذا. أكثر قابلية للقراءة ولا تتطلب وحدات نمطية:
import torch.nn.functional as F
from torch.autograd import Variable
def sampler(input, tau, temperature):
noise = torch.rand(input.size())
noise.add_(1e-9).log_().neg_()
noise.add_(1e-9).log_().neg_()
noise = Variable(noise)
x = (input + noise) / tau + temperature
x = F.softmax(x.view(input.size(0), -1))
return x.view_as(input)
نحن نستخدم GitHub لتقارير الأخطاء فقط ، إذا كانت لديك أسئلة ، فيرجى نشرها على منتدياتنا .
شكرا على الإجابة السريعة! ، وبالتأكيد ، سأكتب في المنتدى في المرة القادمة.
شكرا على الاجابة!
التعليق الأكثر فائدة
ها أنت ذا. أكثر قابلية للقراءة ولا تتطلب وحدات نمطية:
نحن نستخدم GitHub لتقارير الأخطاء فقط ، إذا كانت لديك أسئلة ، فيرجى نشرها على منتدياتنا .