Vektorisierte Proben einer Stapel ohne Schleife?Python

Python-Programme
Anonymous
 Vektorisierte Proben einer Stapel ohne Schleife?

Post by Anonymous »

Ich lerne, Proben auf vektorisierte Weise zu machen, anstatt sie nacheinander in einer Schleife zu machen, wenn ich ein DL -Modell trainiere (als dumme C ++ - Programme, ich wurde verwendet, um alles in einer Schleife zu tun). Eine Forloop -Methode macht den Prozess zu langsam.

Code: Select all

ar = np.array( [
# timestamp, feature0, feature1, feature2, feature3
[ 107,       10700,    10701,    10702,    10703 ],  # timestep 7
[ 106,       10600,    10601,    10602,    10603 ],  # timestep 6
[ 105,       10500,    10501,    10502,    10503 ],  # timestep 5
[ 104,       10400,    10401,    10402,    10403 ],  # timestep 4
[ 103,       10300,    10301,    10302,    10303 ],  # timestep 3
[ 102,       10200,    10201,    10202,    10203 ],  # timestep 2
[ 101,       10100,    10101,    10102,    10103 ],  # timestep 1
[ 100,       10000,    10001,    10002,    10003 ]   # timestep 0
] )
< /code>
Wenn der Modle -Daten -Daten -MODLE -Datensatz die Methode __GetItem __ < /code> meines benutzerdefinierten Datensatzes mit einem integralen Argument aufgerufen wird, ist dies eine Batch -ID anstelle einer Beispiel -ID.class SqlDataSet(tf.keras.utils.PyDataset):
...
...

def __getitem__( self, batch_id ):
pass
Ich muss alle Stichproben dieser Stapel mit einem überlappenden Fenster über den Originaldaten erstellen. wie: < /p>

Code: Select all

def __getitem__( self, batch_id ):
X = []
x_idxes = map_to_idxes( batch_id )  # producing code looks like this
x_idxes = np.array( [1, 3, 5] )     # simplified for discussing
for i in x_idxes:
X.append( ar[ i:i + window_size, 1:2 ] )
return np.array( X ), Y
Würde ein Goodman bitte bitte beibringen, wie man es auf vektorisierte Weise bekommt?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post