←back to thread

156 points cpldcpu | 2 comments | | HN request time: 0.393s | source
1. Lerc ◴[] No.41893315[source]
I feel like to really get to the level of hypothetically useful it should be able to take the samples from an input source.

I wonder if you could do it on the full 28*28 by never holding the full image in memory at once, just as an input stream. say a 1d convolution on each line as it comes in to turn a [1,28] to [3,7] buffer two lines of the [3,7] = 42. Then after there are three results of the third line convolution are produced [3,3]=9, start performing a 2d convolution using the first two lines [2,3,:3] replacing the data at the start (as it has already been processed).

replies(1): >>41893420 #
2. cpldcpu ◴[] No.41893420[source]
Yes, you could implement it in a way where the first layer is streamed and accumulate on output activations in parallel in the memory. This would limit the memory requirements for the input activations, but would increase execution time, as more activiations have to be shuffled around.

In this case I am streaing from ROM anyways, so it does not matter if the inputs are read only once or multiple times.