File tree 2 files changed +10
-5
lines changed
2 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -34,13 +34,9 @@ impl<B: IBackend + Relu<f32> + ReluPointwise<f32>> ILayer<B> for ReLU {
34
34
if let Some ( inp) = input_data. get ( 0 ) {
35
35
let read_inp = inp. read ( ) . unwrap ( ) ;
36
36
let input_desc = read_inp. desc ( ) ;
37
- debug ! ( "ONE" ) ;
38
37
input_gradient[ 0 ] . write ( ) . unwrap ( ) . resize ( input_desc) . unwrap ( ) ;
39
- debug ! ( "TWO" ) ;
40
38
output_data[ 0 ] . write ( ) . unwrap ( ) . resize ( input_desc) . unwrap ( ) ;
41
- debug ! ( "THREE" ) ;
42
39
output_gradient[ 0 ] . write ( ) . unwrap ( ) . resize ( input_desc) . unwrap ( ) ;
43
- debug ! ( "FOUR" ) ;
44
40
}
45
41
}
46
42
}
Original file line number Diff line number Diff line change @@ -249,6 +249,9 @@ impl<B: IBackend + LayerOps<f32> + 'static> ILayer<B> for Sequential<B> {
249
249
for layer in & self . layers {
250
250
layer. borrow_mut ( ) . forward ( & [ ] ) ;
251
251
}
252
+ if let Some ( last_layer) = self . layers . last ( ) {
253
+ last_layer. borrow_mut ( ) . synchronize ( ) ;
254
+ }
252
255
}
253
256
254
257
fn backward_input ( & self ,
@@ -266,6 +269,9 @@ impl<B: IBackend + LayerOps<f32> + 'static> ILayer<B> for Sequential<B> {
266
269
for layer in self . layers . iter ( ) . rev ( ) {
267
270
layer. borrow_mut ( ) . backward_input ( & [ ] ) ;
268
271
}
272
+ if let Some ( first_layer) = self . layers . iter ( ) . rev ( ) . last ( ) {
273
+ first_layer. borrow_mut ( ) . synchronize ( ) ;
274
+ }
269
275
}
270
276
271
277
fn backward_parameters ( & self ,
@@ -274,9 +280,12 @@ impl<B: IBackend + LayerOps<f32> + 'static> ILayer<B> for Sequential<B> {
274
280
output_gradients : & [ ArcLock < SharedTensor < f32 > > ] ,
275
281
input_data : & [ ArcLock < SharedTensor < f32 > > ] ,
276
282
weights_gradients : & mut [ ArcLock < SharedTensor < f32 > > ] ) {
277
- for layer in & self . layers {
283
+ for layer in self . layers . iter ( ) . rev ( ) {
278
284
layer. borrow_mut ( ) . backward_parameters ( ) ;
279
285
}
286
+ if let Some ( first_layer) = self . layers . iter ( ) . rev ( ) . last ( ) {
287
+ first_layer. borrow_mut ( ) . synchronize ( ) ;
288
+ }
280
289
}
281
290
}
282
291
You can’t perform that action at this time.
0 commit comments