cs-jsi / chisel4ml

Apache License 2.0
9 stars 1 forks source link

Installing issues with package #5

Closed vselhakim1337 closed 4 months ago

vselhakim1337 commented 8 months ago

Hi, I've tried installing your package but ran into several issues after following the instructions.

  1. The audio_features_extract submodule git repo does not exist.
  2. From the install instructions: Install development requirementspip install -r requirements_dev.txt`, such a file does not exist
  3. Used Python 3.11, and pip install -e .[dev] instead, which results into a errors. Python 3.8.17, and it worked. Not sure why so many versions of grpcio and Tensorflow are needed... but works
  4. Make fails with protoc-gen-mypy: program not found or is not executable
  5. Installed mypy-protobuf to resolve 4, but got error:
    ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
    chisel4ml 0.1.8+45.g6b1ec0b.dirty requires protobuf<=3.20.0, but you have protobuf 4.24.4 which is incompatible.
    grpcio-tools 1.48.2 requires protobuf<4.0dev,>=3.12.0, but you have protobuf 4.24.4 which is incompatible.
    tensorflow-metadata 1.13.0 requires protobuf<4,>=3.13, but you have protobuf 4.24.4 which is incompatible.

    Nevertheless, 4. is resolved, but you might want to add mypy-protobuf in the pkg deps.

  6. sbt assembly fails with
    [chisel4ml]$ sbt assembly
    [info] welcome to sbt 1.6.2 (Oracle Corporation Java 1.8.0_382)
    [info] loading settings for project chisel4ml-build from plugins.sbt,scalapb.sbt ...
    [info] loading project definition from /home/developer/chisel4ml/project
    [info] loading settings for project root from build.sbt ...
    [info] set current project to chisel4ml (in build file:/home/developer/chisel4ml/)
    [info] Compiling 5 protobuf files to /home/developer/chisel4ml/chisel4ml/scala
    [info] compiling 62 Scala sources to /home/developer/chisel4ml/chisel4ml/bin/classes ...
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/AXIStreamLBIRDriver.scala:20:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/AXIStreamLBIRDriver.scala:22:41: not found: type AXIStreamDriver
    [error] class AXIStreamLBIRDriver(val axiDrive: AXIStreamDriver[UInt]) {
    [error]                                         ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:24:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:33:41: not found: type AXIStreamIO
    [error]   implicit def axiStreamToLBIRDriver(x: AXIStreamIO[UInt]): AXIStreamLBIRDriver = {
    [error]                                         ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:31:65: not found: type AXIStreamDriver
    [error]   implicit def axiStreamToDriver[T <: Data](x: AXIStreamIO[T]): AXIStreamDriver[T] = new AXIStreamDriver(x)
    [error]                                                                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:31:48: not found: type AXIStreamIO
    [error]   implicit def axiStreamToDriver[T <: Data](x: AXIStreamIO[T]): AXIStreamDriver[T] = new AXIStreamDriver(x)
    [error]                                                ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/AXIStreamLBIRDriver.scala:20:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/AXIStreamLBIRDriver.scala:27:9: local val transactions in method enqueueQTensor is never used
    [warn]     val transactions = qt.toLBIRTransactions(axiDrive.getBusWidth())
    [warn]         ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/Circuit.scala:30:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/Circuit.scala:62:5: not found: value MemoryGenerator
    [error]     MemoryGenerator.setGenDir(directory)
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LBIRStream.scala:18:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LBIRStream.scala:21:18: not found: type AXIStreamIO
    [error]   val inStream:  AXIStreamIO[UInt]
    [error]                  ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LBIRStream.scala:22:18: not found: type AXIStreamIO
    [error]   val outStream: AXIStreamIO[UInt]
    [error]                  ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/Circuit.scala:20:28: Unused import
    [warn] import chisel4ml.implicits._
    [warn]                            ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/Circuit.scala:30:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:25:8: not found: object fft
    [error] import fft._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:26:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:31:19: not found: value FFTParams
    [error]   val fftParams = FFTParams.fixed(
    [error]                   ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:32:5: not found: value dataWidth
    [error]     dataWidth = 24,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:33:5: not found: value binPoint
    [error]     binPoint = 12,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:34:5: not found: value trimEnable
    [error]     trimEnable = false,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:35:5: not found: value numPoints
    [error]     numPoints = layer.fftSize,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:36:5: not found: value decimType
    [error]     decimType = DITDecimType,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:37:5: not found: value trimType
    [error]     trimType = RoundHalfToEven,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:38:5: not found: value twiddleWidth
    [error]     twiddleWidth = 16,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:39:5: not found: value useBitReverse
    [error]     useBitReverse = true,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:40:5: not found: value windowFunc
    [error]     windowFunc = WindowFunctionTypes.None(), // We do windowing in this module, because of issues with this
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:41:5: not found: value overflowReg
    [error]     overflowReg = true,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:42:5: not found: value numAddPipes
    [error]     numAddPipes = 1,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:43:5: not found: value numMulPipes
    [error]     numMulPipes = 1,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:44:5: not found: value sdfRadix
    [error]     sdfRadix = "2",
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:45:5: not found: value runTime
    [error]     runTime = false,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:46:5: not found: value expandLogic
    [error]     expandLogic = Array.fill(log2Up(layer.fftSize))(1),
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:47:5: not found: value keepMSBorLSB
    [error]     keepMSBorLSB = Array.fill(log2Up(layer.fftSize))(true)
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:58:29: not found: value AXIStream
    [error]   val inStream = IO(Flipped(AXIStream(UInt(options.busWidthIn.W))))
    [error]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:59:22: not found: value AXIStream
    [error]   val outStream = IO(AXIStream(UInt(options.busWidthOut.W)))
    [error]                      ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:61:27: not found: type SDFFFT
    [error]   val sdffft = Module(new SDFFFT(fftParams))
    [error]                           ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:24:17: Unused import
    [warn] import dsptools._
    [warn]                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:25:12: Unused import
    [warn] import fft._
    [warn]            ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/FFTWrapper.scala:26:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LBIRStream.scala:18:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:24:8: not found: object afe
    [error] import afe._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:26:8: not found: object fft
    [error] import fft._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:27:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:32:19: not found: value FFTParams
    [error]   val fftParams = FFTParams.fixed(
    [error]                   ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:33:5: not found: value dataWidth
    [error]     dataWidth = 24,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:34:5: not found: value binPoint
    [error]     binPoint = 12,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:35:5: not found: value trimEnable
    [error]     trimEnable = false,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:36:5: not found: value numPoints
    [error]     numPoints = layer.fftSize,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:37:5: not found: value decimType
    [error]     decimType = DITDecimType,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:38:5: not found: value trimType
    [error]     trimType = RoundHalfToEven,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:39:5: not found: value twiddleWidth
    [error]     twiddleWidth = 16,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:40:5: not found: value useBitReverse
    [error]     useBitReverse = true,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:41:5: not found: value windowFunc
    [error]     windowFunc = WindowFunctionTypes.None(), // We do windowing in this module, because of issues with this
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:42:5: not found: value overflowReg
    [error]     overflowReg = true,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:43:5: not found: value numAddPipes
    [error]     numAddPipes = 1,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:44:5: not found: value numMulPipes
    [error]     numMulPipes = 1,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:45:5: not found: value sdfRadix
    [error]     sdfRadix = "2",
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:46:5: not found: value runTime
    [error]     runTime = false,
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:47:5: not found: value expandLogic
    [error]     expandLogic = Array.fill(log2Up(layer.fftSize))(1),
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:48:5: not found: value keepMSBorLSB
    [error]     keepMSBorLSB = Array.fill(log2Up(layer.fftSize))(true)
    [error]     ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:51:29: not found: value AXIStream
    [error]   val inStream = IO(Flipped(AXIStream(UInt(options.busWidthIn.W))))
    [error]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:52:22: not found: value AXIStream
    [error]   val outStream = IO(AXIStream(UInt(options.busWidthOut.W)))
    [error]                      ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:53:30: not found: type MelEngine
    [error]   val melEngine = Module(new MelEngine(fftParams, 20, 32))
    [error]                              ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:19:21: Unused import
    [warn] import chisel3.util._
    [warn]                     ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:24:12: Unused import
    [warn] import afe._
    [warn]            ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:25:17: Unused import
    [warn] import dsptools._
    [warn]                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:26:12: Unused import
    [warn] import fft._
    [warn]            ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:27:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:29:19: parameter value layer in class LMFEWrapper is never used
    [warn] class LMFEWrapper(layer: LMFEConfig, options: LayerOptions) extends Module with LBIRStream {
    [warn]                   ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/LMFEWrapper.scala:29:38: parameter value options in class LMFEWrapper is never used
    [warn] class LMFEWrapper(layer: LMFEConfig, options: LayerOptions) extends Module with LBIRStream {
    [warn]                                      ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingElementWrapSimpleToSequential.scala:25:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ProcessingElementSequentialConv.scala:27:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ProcessingElementSequentialConv.scala:76:22: not found: value AXIStream
    [error]   val outStream = IO(AXIStream(UInt(options.busWidthOut.W)))
    [error]                      ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ProcessingElementSequentialConv.scala:75:29: not found: value AXIStream
    [error]   val inStream = IO(Flipped(AXIStream(UInt(options.busWidthIn.W))))
    [error]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/MaxPool2D.scala:25:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingPipeline.scala:23:8: not found: object interfaces
    [error] import interfaces.amba.axis._
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/MaxPool2D.scala:36:29: not found: value AXIStream
    [error]   val inStream = IO(Flipped(AXIStream(UInt(options.busWidthIn.W))))
    [error]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/MaxPool2D.scala:37:22: not found: value AXIStream
    [error]   val outStream = IO(AXIStream(UInt(options.busWidthOut.W)))
    [error]                      ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/MaxPool2D.scala:25:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/MaxPool2D.scala:76:61: parameter value i in anonymous function is never used
    [warn]   val partialMaximums = VecInit((0 until maxPoolSize).map((i: Int) => {
    [warn]                                                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingElementWrapSimpleToSequential.scala:32:29: not found: value AXIStream
    [error]   val inStream = IO(Flipped(AXIStream(UInt(options.busWidthIn.W))))
    [error]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingElementWrapSimpleToSequential.scala:33:22: not found: value AXIStream
    [error]   val outStream = IO(AXIStream(UInt(options.busWidthOut.W)))
    [error]                      ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingElementWrapSimpleToSequential.scala:25:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingPipeline.scala:26:29: not found: value AXIStream
    [error]   val inStream = IO(Flipped(AXIStream(UInt(options.layers(0).busWidthIn.W))))
    [error]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingPipeline.scala:27:22: not found: value AXIStream
    [error]   val outStream = IO(AXIStream(UInt(options.layers.last.busWidthOut.W)))
    [error]                      ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/ProcessingPipeline.scala:23:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelSubsystem.scala:20:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:5:8: not found: object interfaces
    [error] import interfaces.amba.axis.AXIStream
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:7:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:19:28: not found: value AXIStream
    [error]     val inStream = Flipped(AXIStream(UInt(options.busWidthIn.W)))
    [error]                            ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:23:23: not found: value MemoryGenerator
    [error]   val actMem = Module(MemoryGenerator.SRAM(depth = input.memDepth, width = MemWordSize.bits))
    [error]                       ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:23:44: not found: value depth
    [error]   val actMem = Module(MemoryGenerator.SRAM(depth = input.memDepth, width = MemWordSize.bits))
    [error]                                            ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:23:68: not found: value width
    [error]   val actMem = Module(MemoryGenerator.SRAM(depth = input.memDepth, width = MemWordSize.bits))
    [error]                                                                    ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputDataMover.scala:20:8: not found: object memories
    [error] import memories.SRAMRead
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputDataMover.scala:32:30: not found: type SRAMRead
    [error]     val actMem = Flipped(new SRAMRead(input.memDepth, MemWordSize.bits))
    [error]                              ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:5:29: Unused import
    [warn] import interfaces.amba.axis.AXIStream
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:7:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:8:18: Unused import
    [warn] import chisel4ml.MemWordSize
    [warn]                  ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputActivationsSubsystem.scala:16:98: parameter value options in class InputActivationsSubsystem is never used
    [warn] class InputActivationsSubsystem(input: lbir.QTensor, kernel: lbir.QTensor, output: lbir.QTensor, options: LayerOptions)
    [warn]                                                                                                  ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/InputDataMover.scala:20:17: Unused import
    [warn] import memories.SRAMRead
    [warn]                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelRFLoader.scala:22:8: not found: object memories
    [error] import memories.SRAMRead
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelRFLoader.scala:33:27: not found: type SRAMRead
    [error]     val rom = Flipped(new SRAMRead(depth = kernel.memDepth, width = MemWordSize.bits))
    [error]                           ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelRFLoader.scala:33:36: not found: value depth
    [error]     val rom = Flipped(new SRAMRead(depth = kernel.memDepth, width = MemWordSize.bits))
    [error]                                    ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelRFLoader.scala:33:61: recursive value rom needs type
    [error]     val rom = Flipped(new SRAMRead(depth = kernel.memDepth, width = MemWordSize.bits))
    [error]                                                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelRFLoader.scala:22:17: Unused import
    [warn] import memories.SRAMRead
    [warn]                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelSubsystem.scala:67:26: not found: value MemoryGenerator
    [error]   val kernelMem = Module(MemoryGenerator.SRAMInitFromString(hexStr = kernel.toHexStr, width = MemWordSize.bits))
    [error]                          ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelSubsystem.scala:67:61: not found: value hexStr
    [error]   val kernelMem = Module(MemoryGenerator.SRAMInitFromString(hexStr = kernel.toHexStr, width = MemWordSize.bits))
    [error]                                                             ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelSubsystem.scala:67:87: not found: value width
    [error]   val kernelMem = Module(MemoryGenerator.SRAMInitFromString(hexStr = kernel.toHexStr, width = MemWordSize.bits))
    [error]                                                                                       ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelSubsystem.scala:20:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/KernelSubsystem.scala:21:18: Unused import
    [warn] import chisel4ml.MemWordSize
    [warn]                  ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ResultMemoryBuffer.scala:20:8: not found: object interfaces
    [error] import interfaces.amba.axis.AXIStream
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ResultMemoryBuffer.scala:25:21: not found: value AXIStream
    [error]     val outStream = AXIStream(UInt(options.busWidthOut.W))
    [error]                     ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ProcessingElementSequentialConv.scala:27:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ResultMemoryBuffer.scala:20:29: Unused import
    [warn] import interfaces.amba.axis.AXIStream
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/ResultMemoryBuffer.scala:23:59: parameter value options in class ResultMemoryBuffer is never used
    [warn] class ResultMemoryBuffer[O <: Bits](output: lbir.QTensor, options: LayerOptions, genOut: O) extends Module {
    [warn]                                                           ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/SlidingWindowUnit.scala:20:8: not found: object memories
    [error] import memories.SRAMRead
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/SlidingWindowUnit.scala:67:30: not found: type SRAMRead
    [error]     val actMem = Flipped(new SRAMRead(actMemDepthWords, MemWordSize.bits))
    [error]                              ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/conv2d/SlidingWindowUnit.scala:20:17: Unused import
    [warn] import memories.SRAMRead
    [warn]                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:31:90: not found: type AXIStreamDriver
    [error]   implicit def axiStreamToDriver[T <: Data](x: AXIStreamIO[T]): AXIStreamDriver[T] = new AXIStreamDriver(x)
    [error]                                                                                          ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:34:33: not found: type AXIStreamDriver
    [error]     new AXIStreamLBIRDriver(new AXIStreamDriver(x))
    [error]                                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/package.scala:24:29: Unused import
    [warn] import interfaces.amba.axis._
    [warn]                             ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/main/util/util.scala:45:27: parameter value bitwidth in method noSaturate is never used
    [warn]   def noSaturate(x: Bool, bitwidth: Int): Bool = x
    [warn]                           ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/InputActivationsSubsystemTests.scala:25:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/InputActivationsSubsystemTests.scala:40:5: not found: value MemoryGenerator
    [error]     MemoryGenerator.setGenDir(genDir)
    [error]     ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/InputActivationsSubsystemTests.scala:24:28: Unused import
    [warn] import chisel4ml.implicits._
    [warn]                            ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/InputActivationsSubsystemTests.scala:25:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/KernelRFLoaderTests.scala:23:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/KernelRFLoaderTests.scala:37:5: not found: value MemoryGenerator
    [error]     MemoryGenerator.setGenDir(genDir)
    [error]     ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/KernelRFLoaderTests.scala:23:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/MaxPool2DTests.scala:18:35: Unused import
    [warn] import _root_.chisel4ml.implicits._
    [warn]                                   ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/ProcessingElementSequentialConvTests.scala:26:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/ProcessingElementSequentialConvTests.scala:43:5: not found: value MemoryGenerator
    [error]     MemoryGenerator.setGenDir(genDir)
    [error]     ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/ProcessingElementSequentialConvTests.scala:26:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTestBed.scala:23:8: not found: object memories
    [error] import memories.MemoryGenerator
    [error]        ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTestBed.scala:48:23: not found: value MemoryGenerator
    [error]   val actMem = Module(MemoryGenerator.SRAMInitFromString(hexStr = input.toHexStr, width = MemWordSize.bits))
    [error]                       ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTestBed.scala:48:58: not found: value hexStr
    [error]   val actMem = Module(MemoryGenerator.SRAMInitFromString(hexStr = input.toHexStr, width = MemWordSize.bits))
    [error]                                                          ^
    [error] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTestBed.scala:48:83: not found: value width
    [error]   val actMem = Module(MemoryGenerator.SRAMInitFromString(hexStr = input.toHexStr, width = MemWordSize.bits))
    [error]                                                                                   ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTestBed.scala:23:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTestBed.scala:24:18: Unused import
    [warn] import chisel4ml.MemWordSize
    [warn]                  ^
    [warn] /home/developer/chisel4ml/chisel4ml/scala/test/SlidingWindowUnitTests.scala:23:17: Unused import
    [warn] import memories.MemoryGenerator
    [warn]                 ^
    [warn] 41 warnings found
    [error] 102 errors found
    [error] (Compile / compileIncremental) Compilation failed
    [error] Total time: 17 s, completed Oct 25, 2023 1:14:01 PM
  7. pytest -svv fails with
    ImportError while loading conftest '/home/developer/chisel4ml/tests/conftest.py'.
    tests/conftest.py:5: in <module>
    import qkeras
    venv/lib/python3.8/site-packages/qkeras/__init__.py:20: in <module>
    import tensorflow as tf
    venv/lib/python3.8/site-packages/tensorflow/__init__.py:37: in <module>
    from tensorflow.python.tools import module_util as _module_util
    venv/lib/python3.8/site-packages/tensorflow/python/__init__.py:37: in <module>
    from tensorflow.python.eager import context
    venv/lib/python3.8/site-packages/tensorflow/python/eager/context.py:29: in <module>
    from tensorflow.core.framework import function_pb2
    venv/lib/python3.8/site-packages/tensorflow/core/framework/function_pb2.py:16: in <module>
    from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
    venv/lib/python3.8/site-packages/tensorflow/core/framework/attr_value_pb2.py:16: in <module>
    from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
    venv/lib/python3.8/site-packages/tensorflow/core/framework/tensor_pb2.py:16: in <module>
    from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
    venv/lib/python3.8/site-packages/tensorflow/core/framework/resource_handle_pb2.py:16: in <module>
    from tensorflow.core.framework import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
    venv/lib/python3.8/site-packages/tensorflow/core/framework/tensor_shape_pb2.py:36: in <module>
    _descriptor.FieldDescriptor(
    venv/lib/python3.8/site-packages/google/protobuf/descriptor.py:561: in __new__
    _message.Message._CheckCalledFromGeneratedFile()
    E   TypeError: Descriptors cannot not be created directly.
    E   If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
    E   If you cannot immediately regenerate your protos, some other possible workarounds are:
    E    1. Downgrade the protobuf package to 3.20.x or lower.
    E    2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).
    E
    E   More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

I'm using Manjaro Linux (an Arch variant):

Linux .. 6.5.5-1-MANJARO #1 SMP PREEMPT_DYNAMIC Sat Sep 23 12:48:15 UTC 2023 x86_64 GNU/Linux

jurevreca12 commented 8 months ago

Hello. Thank you for trying out chisel4ml. Unfortunately, the said repository (audio_features_extract) is not yet open sourced. We plan to do this after it is more stable. So this means that you should try and clone the master branch, or the develop branch with an commit thats old enough. If you have any further issues, please let me know.

On a broader topic, chisel4ml is currently being refactored, and after some refactoring, we will improve the documentation and installation option. So hopefully just installing and using the tool will be easier.

EDIT: Preferably, you should use one of the tagged versions.

vselhakim1337 commented 8 months ago

Thank you for the quick response!

try and clone the master branch, or the develop branch with an commit thats old enough

Can you suggest a commit that's old enough?

jurevreca12 commented 8 months ago

Perhaps try this one: https://github.com/cs-jsi/chisel4ml/tree/0.1.8

jurevreca12 commented 4 months ago

Hey @vselhakim1337 . I've finally managed to make the install process easier. Installing can now be done via pip, as described in the master branch README.MD. I will close this issue now.