I'm trying to reproduce the code of this project: https://github.com/casact/rp-bnn-claims
I'm having a weird error when I've tried to run this lines:
batch_size <- 100000
model <- make_model(n_rows = dim(train_data_keras$x[[1]])[[1]],
ln_scale_bound = 0.7,
scale_c = 0.01)
model %>%
compile(
loss = list(cust_loss, cust_loss),
loss_weights = list(1, 1),
optimizer = optimizer_sgd(lr = 0.01, clipnorm = 1)
)
history <- model %>%
fit(
x = train_data_keras$x,
y = unname(train_data_keras$y),
validation_data = list(validation_data_keras$x, unname(validation_data_keras$y)),
batch_size = batch_size,
epochs = 100,
view_metrics = FALSE,
verbose = 1,
callbacks = list(callback_early_stopping(monitor = "val_loss",
patience = 10,
min_delta = 0.001,
restore_best_weights = FALSE),
callback_reduce_lr_on_plateau(factor = 0.5, patience = 5)
)
)
The error:
Error in py_call_impl(callable, dots$args, dots$keywords): RuntimeError: in user code:
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/keras/engine/training.py", line 878, in train_function *
return step_function(self, iterator)
File "/usr/local/lib/R/site-library/reticulate/python/rpytools/call.py", line 21, in python_function *
raise RuntimeError(res[kErrorKey])
RuntimeError: Evaluation error: TypeError: bad operand type for unary -: 'NoneType'
Detailed traceback:
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/distribution.py", line 1316, in log_prob
return self._call_log_prob(value, name, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/distribution.py", line 1298, in _call_log_prob
return self._log_prob(value, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/mixture.py", line 279, in _log_prob
distribution_log_probs = [d.log_prob(x) for d in self.components]
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/mixture.py", line 279, in <listcomp>
distribution_log_probs = [d.log_prob(x) for d in self.components]
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/distribution.py", line 1316, in log_prob
return self._call_log_prob(value, name, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/distribution.py", line 1298, in _call_log_prob
return self._log_prob(value, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/distributions/transformed_distribution.py", line 367, in _log_prob
ildj = self.bijector.inverse_log_det_jacobian(
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/bijectors/bijector.py", line 1561, in inverse_log_det_jacobian
return self._call_inverse_log_det_jacobian(y, event_ndims, name, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/bijectors/composition.py", line 539, in _call_inverse_log_det_jacobian
return self._inverse_log_det_jacobian(y, event_ndims, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/bijectors/composition.py", line 552, in _inverse_log_det_jacobian
bm.bijector.inverse_log_det_jacobian(bm.x, bm.x_event_ndims,
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/bijectors/bijector.py", line 1561, in inverse_log_det_jacobian
return self._call_inverse_log_det_jacobian(y, event_ndims, name, **kwargs)
File "/miniconda/envs/r-reticulate/lib/python3.8/site-packages/tensorflow_probability/python/bijectors/bijector.py", line 1492, in _call_inverse_log_det_jacobian
ildj = attrs['ildj'] = -self._forward_log_det_jacobian(x, **kwargs)
I suspect that it's related to tensorflow probability package, I'm new in tensorflow and I'll be grateful if you could help me! Thank you,
Update:
I tfb_affine_scalar
as it became obsolete due to new version of tensorflow probability: I used tfb_shift()(tfb_scale())
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.