I would use TileLayer to "upscale" Bottom_1 so it matched the exact size of Bottom_0 and then perform Eltwise with PROD operation. Since TileLayer only works in one axis at a time, you'll need to do it like this:
layer {
name: "tile_x"
type: "Tile"
bottom: "Bottom_1"
top: "Bottom_1_tiled_x"
tile_param {
axis: 2
tiles: <X>
}
}
layer {
name: "tile_y"
type: "Tile"
bottom: "Bottom_1_tiled_x"
top: "Bottom_1_tiled"
tile_param {
axis: 3
tiles: <Y>
}
}
<X> and <Y> should refer to your numbers in Bottom_0 blob. After those operations, your Bottom_1_tiled can be element-wise multiplied with Bottom_0.
PS: I just noticed your Bottom_1 is 3D instead of 4D - is this correct? In this case you might want to use ReshapeLayer to add another dimension in which you'll tile.