mirror of
https://github.com/pjreddie/darknet.git
synced 2023-08-10 21:13:14 +03:00
Fixed reorg_layer. Old reorg can be used as [reorg_old] in the cfg-file.
This commit is contained in:
@ -77,38 +77,44 @@ void resize_reorg_layer(layer *l, int w, int h)
|
||||
|
||||
void forward_reorg_layer(const layer l, network_state state)
|
||||
{
|
||||
if(l.reverse){
|
||||
reorg_cpu(state.input, l.w, l.h, l.c, l.batch, l.stride, 1, l.output);
|
||||
}else {
|
||||
reorg_cpu(state.input, l.w, l.h, l.c, l.batch, l.stride, 0, l.output);
|
||||
}
|
||||
if (l.reverse) {
|
||||
reorg_cpu(state.input, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 1, l.output);
|
||||
}
|
||||
else {
|
||||
reorg_cpu(state.input, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 0, l.output);
|
||||
}
|
||||
}
|
||||
|
||||
void backward_reorg_layer(const layer l, network_state state)
|
||||
{
|
||||
if(l.reverse){
|
||||
reorg_cpu(l.delta, l.w, l.h, l.c, l.batch, l.stride, 0, state.delta);
|
||||
}else{
|
||||
reorg_cpu(l.delta, l.w, l.h, l.c, l.batch, l.stride, 1, state.delta);
|
||||
}
|
||||
if (l.reverse) {
|
||||
reorg_cpu(l.delta, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 0, state.delta);
|
||||
}
|
||||
else {
|
||||
reorg_cpu(l.delta, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 1, state.delta);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef GPU
|
||||
void forward_reorg_layer_gpu(layer l, network_state state)
|
||||
{
|
||||
if(l.reverse){
|
||||
reorg_ongpu(state.input, l.w, l.h, l.c, l.batch, l.stride, 1, l.output_gpu);
|
||||
}else {
|
||||
reorg_ongpu(state.input, l.w, l.h, l.c, l.batch, l.stride, 0, l.output_gpu);
|
||||
}
|
||||
if (l.reverse) {
|
||||
reorg_ongpu(state.input, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 1, l.output_gpu);
|
||||
}
|
||||
else {
|
||||
reorg_ongpu(state.input, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 0, l.output_gpu);
|
||||
}
|
||||
}
|
||||
|
||||
void backward_reorg_layer_gpu(layer l, network_state state)
|
||||
{
|
||||
if(l.reverse){
|
||||
reorg_ongpu(l.delta_gpu, l.w, l.h, l.c, l.batch, l.stride, 0, state.delta);
|
||||
}else{
|
||||
reorg_ongpu(l.delta_gpu, l.w, l.h, l.c, l.batch, l.stride, 1, state.delta);
|
||||
}
|
||||
if (l.reverse) {
|
||||
reorg_ongpu(l.delta_gpu, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 0, state.delta);
|
||||
//reorg_ongpu(l.delta_gpu, l.w, l.h, l.c, l.batch, l.stride, 0, state.delta);
|
||||
}
|
||||
else {
|
||||
reorg_ongpu(l.delta_gpu, l.out_w, l.out_h, l.out_c, l.batch, l.stride, 1, state.delta);
|
||||
//reorg_ongpu(l.delta_gpu, l.w, l.h, l.c, l.batch, l.stride, 1, state.delta);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user