77class Dataset :
88 """Contains time-dependent state data and associated targets."""
99
10- def __init__ (self , data , targets , data2 = None ):
10+ def __init__ (self , data , targets = None , data2 = None ):
1111 """
1212 :param data: An array of observable states.
1313 :param targets: An array of targets corresponding to the observable states.
1414 :param data2: A second array of observable states if there are two observables.
1515 """
16- assert len (data ) == len (targets )
16+ if targets is not None :
17+ assert len (data ) == len (targets )
1718 self .data = data
1819 self .targets = targets
1920 self .data2 = data2
2021 if self .data2 is not None :
2122 assert len (self .data2 ) == len (self .data )
2223
2324 def shuffle (self , seed = None ):
25+ assert self .targets is not None
2426 if self .data2 is None :
2527 self .data , self .targets = utils .shuffle_arrays (
2628 self .data , self .targets , seed = seed )
@@ -30,7 +32,8 @@ def shuffle(self, seed=None):
3032
3133 def save (self , name ):
3234 save_data (self .data , name + '_states.h5' )
33- save_csv (self .targets , name + '_targets.csv' )
35+ if self .targets is not None :
36+ save_csv (self .targets , name + '_targets.csv' )
3437 if self .data2 is not None :
3538 save_data (self .data2 , name + '_states2.h5' )
3639
@@ -44,6 +47,7 @@ def __len__(self):
4447 return len (self .data )
4548
4649 def __getitem__ (self , item ):
50+ assert self .targets is not None
4751 if self .data2 is None :
4852 return Dataset (self .data [item ], self .targets [item ])
4953 else :
0 commit comments