@@ -1275,7 +1275,7 @@ def make_obs_var(
1275
1275
1276
1276
observed_rv_var .tag .observations = nonmissing_data
1277
1277
1278
- self .create_value_var (observed_rv_var , transform )
1278
+ self .create_value_var (observed_rv_var , transform = None , value_var = nonmissing_data )
1279
1279
self .add_random_variable (observed_rv_var , dims )
1280
1280
self .observed_RVs .append (observed_rv_var )
1281
1281
@@ -1285,22 +1285,21 @@ def make_obs_var(
1285
1285
rv_var = at .set_subtensor (rv_var [antimask_idx ], observed_rv_var )
1286
1286
rv_var = Deterministic (name , rv_var , self , dims , auto = True )
1287
1287
1288
- elif sps .issparse (data ):
1289
- data = sparse .basic .as_sparse (data , name = name )
1290
- rv_var .tag .observations = data
1291
- self .create_value_var (rv_var , transform )
1292
- self .add_random_variable (rv_var , dims )
1293
- self .observed_RVs .append (rv_var )
1294
1288
else :
1295
- data = at .as_tensor_variable (data , name = name )
1289
+ if sps .issparse (data ):
1290
+ data = sparse .basic .as_sparse (data , name = name )
1291
+ else :
1292
+ data = at .as_tensor_variable (data , name = name )
1296
1293
rv_var .tag .observations = data
1297
- self .create_value_var (rv_var , transform )
1294
+ self .create_value_var (rv_var , transform = None , value_var = data )
1298
1295
self .add_random_variable (rv_var , dims )
1299
1296
self .observed_RVs .append (rv_var )
1300
1297
1301
1298
return rv_var
1302
1299
1303
- def create_value_var (self , rv_var : TensorVariable , transform : Any ) -> TensorVariable :
1300
+ def create_value_var (
1301
+ self , rv_var : TensorVariable , transform : Any , value_var : Optional [Variable ] = None
1302
+ ) -> TensorVariable :
1304
1303
"""Create a ``TensorVariable`` that will be used as the random
1305
1304
variable's "value" in log-likelihood graphs.
1306
1305
@@ -1311,13 +1310,13 @@ def create_value_var(self, rv_var: TensorVariable, transform: Any) -> TensorVari
1311
1310
this branch of the conditional.
1312
1311
1313
1312
"""
1314
- value_var = rv_var .type ()
1313
+ if value_var is None :
1314
+ value_var = rv_var .type ()
1315
+ value_var .name = rv_var .name
1315
1316
1316
1317
if aesara .config .compute_test_value != "off" :
1317
1318
value_var .tag .test_value = rv_var .tag .test_value
1318
1319
1319
- value_var .name = rv_var .name
1320
-
1321
1320
rv_var .tag .value_var = value_var
1322
1321
1323
1322
# Make the value variable a transformed value variable,
0 commit comments