import os
import sys
import finnthesizer as fth

if __name__ == "__main__":
    bnnRoot = "."
    npzFile = bnnRoot + "/weights/mnist-w1a1.npz"
    targetDirBin = bnnRoot + "/binparam-lfcW1A1-pynq"
    targetDirHLS = bnnRoot + "/binparam-lfcW1A1-pynq/hw"

    simdCounts = [64, 32, 64, 8]
    peCounts = [32, 64, 32, 16]

    WeightsPrecisions_fractional = [0, 0, 0, 0]
    ActivationPrecisions_fractional = [0, 0, 0, 0]
    InputPrecisions_fractional = [0, 0, 0, 0]
    WeightsPrecisions_integer = [1, 1, 1, 1]
    ActivationPrecisions_integer = [1, 1, 1, 1]
    InputPrecisions_integer = [1, 1, 1, 1]

    classes = map(lambda x: str(x), range(10))

    fth.convertFCNetwork(npzFile, targetDirBin, targetDirHLS, simdCounts,
                         peCounts, WeightsPrecisions_fractional,
                         ActivationPrecisions_fractional,
                         InputPrecisions_fractional, WeightsPrecisions_integer,
                         ActivationPrecisions_integer, InputPrecisions_integer)

    with open(targetDirBin + "/classes.txt", "w") as f:
        f.write("\n".join(classes))
Exemple #2
0
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
#AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
#IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
#DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
#FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
#DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
#SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
#OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
#OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

import os
import sys
import finnthesizer as fth

if __name__ == "__main__":
    bnnRoot = "."
    npzFile = bnnRoot + "/fashion-mnist-train/fashion_mnist_parameters.npz"
    targetDirBin = bnnRoot + "/fashion-mnist-lfc"
    
    simdCounts = [64, 32, 64, 8]
    peCounts = [32, 64, 32, 16]
    
    classes = ["green", "red", "yellow"]
    
    fth.convertFCNetwork(npzFile, targetDirBin, simdCounts, peCounts)
    
    with open(targetDirBin + "/classes.txt", "w") as f:
        f.write("\n".join(classes))