tomg008 / skynet Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
Dear author, I follow the train code in the ismart2 repo and I can generate the weight bin file. Can you tell me how do you generate the two weight files weights_fixed.bin and weights_floating.bin here in the HLS dir?
profiled skynet further, found that each skynet call to the pl costs 0.165ms, as such 24fps;
and the first image_stitch opeartion adds a cost, and the following ones cost are very low.
Nice design!
There still exists one timing problem:
Under 214MHz, there exists -3.014ns WNS unmet timing constrains in vivado 2019.2, in 3×3 conv modules. Is it normal or the Vivado version differences?
If design focus speed performance only , what other optimization could take? Does AXI bus clock alone to speed up the dram access? Appreciate if you could give some advice, thanks.
Hello SkyNet,
I want to deploy the code on Ultra96-V2.
I started over and built the bitstream and weights from scratch
After finishing building the bitstream and weights, I changed the file name to "SkyNet.bin", "SkyNet.hwh", and "SkyNet.bit"
, and then ran the script "SkyNet.py"
provided by the team.
But I always got the message KeyError: 'power1'
I tried to print out pynq.get_rails()
and I only have these followings
{'in1': Rail {name=in1, voltage=Sensor {name=in1_voltage, value=1.193V}},
'in2': Rail {name=in2, voltage=Sensor {name=in2_voltage, value=1.797V}},
'in3': Rail {name=in3, voltage=Sensor {name=in3_voltage, value=0.844V}},
'in4': Rail {name=in4, voltage=Sensor {name=in4_voltage, value=0.852V}}, '
in5': Rail {name=in5, voltage=Sensor {name=in5_voltage, value=1.798V}},
'in6': Rail {name=in6, voltage=Sensor {name=in6_voltage, value=1.794V}},
'in7': Rail {name=in7, voltage=Sensor {name=in7_voltage, value=0.842V}},
'in8': Rail {name=in8, voltage=Sensor {name=in8_voltage, value=0.841V}},
'in9': Rail {name=in9, voltage=Sensor {name=in9_voltage, value=0.844V}},
'in10': Rail {name=in10, voltage=Sensor {name=in10_voltage, value=1.796V}},
'in11': Rail {name=in11, voltage=Sensor {name=in11_voltage, value=1.092V}}}
No "power1" is in pynq.get_rails()
.
Could you kindly suggest which part I might go wrong so that I could fix it?
Thank you.
hi, will you release the training code ?
@TomG008 @DNN-Accelerators
Release the training code
Hello!I am a novice, I would like to ask if I can use my own dataset to do target detection training with skynet?I can't seem to find the code.
Thanks!@TomG008
Hi, I don't know how to generate weights_float.bin when I wanna to trian skynet on new dataset. I guess the skynet is trained by pytorch, whose product should be *.pth file. I appreciate that if you can share the method about how to generate weights_float.bin. Thanks a lot.
Skynet should be self aware, and maybe Blood thirsty
I use the dac.weights and only obtained 0.46 IOU. So the dac.weights is the final weight file?
I use the train.py file of iSmart2 and modify some parameters to train SkyNet, obtain 0.63 IOU. I can not get the 0.731 IOU. Are there some tricks in the training?
I find that only 10000 images of training dataset are randomly chosen in a training epoch. Why don't use all training datasets in a training epoch?
Hey there, thanks for the great work.
Is it possible to detect multiple objects using your design?
Successfully uninstalled pynq-2.5.1
Successfully installed pynq-2.5.3
(base) cao@cao-OMEN-by-HP-Desktop-PC-880-p0xx:/media/cao/SkyNet-master/FPGA/Deploy$ sudo python3 SkyNet.py
**** Running SkyNet
Traceback (most recent call last):
File "SkyNet.py", line 20, in
xlnk = Xlnk()
File "/usr/local/lib/python3.8/dist-packages/pynq/xlnk.py", line 136, in init
Xlnk._open_library(Xlnk.libxlnk_path)
File "/usr/local/lib/python3.8/dist-packages/pynq/xlnk.py", line 122, in _open_library
cls.libxlnk = cls.ffi.dlopen(path)
File "/usr/local/lib/python3.8/dist-packages/cffi/api.py", line 150, in dlopen
lib, function_cache = _make_ffi_library(self, name, flags)
File "/usr/local/lib/python3.8/dist-packages/cffi/api.py", line 832, in _make_ffi_library
backendlib = _load_backend_lib(backend, libname, flags)
File "/usr/local/lib/python3.8/dist-packages/cffi/api.py", line 827, in _load_backend_lib
raise OSError(msg)
OSError: cannot load library '/usr/lib/libcma.so': /usr/lib/libcma.so: cannot open shared object file: No such file or directory. Additionally, ctypes.util.find_library() did not manage to locate a library called '/usr/lib/libcma.so'
Exception ignored in: <function Xlnk.del at 0x7f7df96fc700>
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/pynq/xlnk.py", line 150, in del
AttributeError: 'Xlnk' object has no attribute 'bufmap'
Greetings,
I actually wanted to integrate with mmdetection so that I could train qdtrack model. Would be really great if you could provide me assistance of adding SkyNet to mmdetection repo.
Thanks
I'm running SkyNet on a Pynq-Z2, so I realize that is where this issue might come from.
I have changed the things that need to be changed in the HLS/RTL portion and got it to synthesize, implement, and generate the bitstream.
The issue is when I am deploying it in the notebook, I get to the part where we start to write.
SkyNet = overlay.SkyNet_0
SkyNet.write(0x10, img.physical_address)
SkyNet.write(0x18, conv_weight_1x1_all.physical_address)
SkyNet.write(0x20, conv_weight_3x3_all.physical_address)
SkyNet.write(0x28, bias_all.physical_address)
SkyNet.write(0x30, DDR_pool_3_out.physical_address)
SkyNet.write(0x38, DDR_pool_6_out.physical_address)
SkyNet.write(0x40, DDR_buf.physical_address)
SkyNet.write(0x50, predict_boxes.physical_address)
SkyNet.write(0x58, constant.physical_address)
The error I receive is:
AttributeError: Could not find IP or hierarchy write in overlay
Any idea?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.