mirror of
https://github.com/SheffieldML/GPy.git
synced 2026-05-10 20:42:39 +02:00
name added as a parameter of Prod
This commit is contained in:
parent
8e22373a00
commit
19c87c9f77
2 changed files with 7 additions and 5 deletions
|
|
@ -129,7 +129,7 @@ class Kern(Parameterized):
|
||||||
"""
|
"""
|
||||||
return self.prod(other, tensor=True)
|
return self.prod(other, tensor=True)
|
||||||
|
|
||||||
def prod(self, other, tensor=False):
|
def prod(self, other, tensor=False, name=None):
|
||||||
"""
|
"""
|
||||||
Multiply two kernels (either on the same space, or on the tensor
|
Multiply two kernels (either on the same space, or on the tensor
|
||||||
product of the input space).
|
product of the input space).
|
||||||
|
|
@ -142,4 +142,4 @@ class Kern(Parameterized):
|
||||||
"""
|
"""
|
||||||
assert isinstance(other, Kern), "only kernels can be added to kernels..."
|
assert isinstance(other, Kern), "only kernels can be added to kernels..."
|
||||||
from prod import Prod
|
from prod import Prod
|
||||||
return Prod(self, other, tensor)
|
return Prod(self, other, tensor, name)
|
||||||
|
|
|
||||||
|
|
@ -15,14 +15,16 @@ class Prod(Kern):
|
||||||
:rtype: kernel object
|
:rtype: kernel object
|
||||||
|
|
||||||
"""
|
"""
|
||||||
def __init__(self, k1, k2, tensor=False):
|
def __init__(self, k1, k2, tensor=False,name=None):
|
||||||
if tensor:
|
if tensor:
|
||||||
super(Prod, self).__init__(k1.input_dim + k2.input_dim, k1.name + '_xx_' + k2.name)
|
name = k1.name + '_xx_' + k2.name if name is None else name
|
||||||
|
super(Prod, self).__init__(k1.input_dim + k2.input_dim, name)
|
||||||
self.slice1 = slice(0,k1.input_dim)
|
self.slice1 = slice(0,k1.input_dim)
|
||||||
self.slice2 = slice(k1.input_dim,k1.input_dim+k2.input_dim)
|
self.slice2 = slice(k1.input_dim,k1.input_dim+k2.input_dim)
|
||||||
else:
|
else:
|
||||||
assert k1.input_dim == k2.input_dim, "Error: The input spaces of the kernels to multiply don't have the same dimension."
|
assert k1.input_dim == k2.input_dim, "Error: The input spaces of the kernels to multiply don't have the same dimension."
|
||||||
super(Prod, self).__init__(k1.input_dim, k1.name + '_x_' + k2.name)
|
name = k1.name + '_x_' + k2.name if name is None else name
|
||||||
|
super(Prod, self).__init__(k1.input_dim, name)
|
||||||
self.slice1 = slice(0, self.input_dim)
|
self.slice1 = slice(0, self.input_dim)
|
||||||
self.slice2 = slice(0, self.input_dim)
|
self.slice2 = slice(0, self.input_dim)
|
||||||
self.k1 = k1
|
self.k1 = k1
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue