def test_IRVLayer_pickle(): n_tasks = 10 K = 10 V = Feature(shape=(None, 200)) irv_layer = IRVLayer(n_tasks, K, in_layers=[V]) irv_reg = IRVRegularize(irv_layer, in_layers=[irv_layer]) tg = TensorGraph() tg.add_output(irv_layer) tg.add_output(irv_reg) tg.set_loss(irv_reg) tg.build() tg.save()
def test_IRV(self): """Test that IRVLayer and IRVRegularize can be invoked.""" batch_size = 10 n_tasks = 5 K = 10 n_features = 2 * K * n_tasks test_tensor_input = np.random.rand(batch_size, n_features) with self.session() as sess: test_tensor = tf.convert_to_tensor(test_tensor_input, dtype=tf.float32) irv_layer = IRVLayer(n_tasks, K) irv_layer.create_tensor(in_layers=[test_tensor]) out_tensor = irv_layer.out_tensor sess.run(tf.global_variables_initializer()) out_tensor = out_tensor.eval() assert out_tensor.shape == (batch_size, n_tasks) irv_reg = IRVRegularize(irv_layer, 1.)() assert irv_reg.eval() >= 0