Hello,
I don't understand why
grads = T.grad(loss, params)
rng = RandomStreams(get_rng().randint(1, 2147462579))
noise = rng.normal(grads[0].shape, dtype=grads[0].dtype)
grads[0] = grads[0] + noise
works, but
grads = T.grad(loss, params)
rng = RandomStreams(get_rng().randint(1, 2147462579))
noise = rng.uniform(grads[0].shape, dtype=grads[0].dtype) # only
difference: normal -> uniform
grads[0] = grads[0] + noise
doesn't. The error is
TypeError: ('An update must have the same type as the original shared
variable (shared_var=W, shared_var.type=TensorType(float32, col),
update_val=Elemwise{sub,no_inplace}.0, update_val.type=TensorType(float32,
matrix)).', 'If the difference is related to the broadcast pattern, you can
call the tensor.unbroadcast(var, axis_to_unbroadcast[, ...]) function to
remove broadcastable dimensions.')
--
---
You received this message because you are subscribed to the Google Groups
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.