GithubHelp home page GithubHelp logo

davidmallasen / livechess2fen Goto Github PK

View Code? Open in Web Editor NEW
69.0 5.0 26.0 2.89 MB

Predict live chess games into FEN notation.

Home Page: https://arxiv.org/abs/2012.06858

License: GNU Affero General Public License v3.0

Python 100.00%
onnx onnxruntime tensorrt chess computer-vision convolutional-neural-networks deep-learning nvidia-jetson-nano fen chessboard

livechess2fen's People

Contributors

david-davidlxl avatar davidmallasen avatar nayan2167 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

livechess2fen's Issues

Having trouble with the installation of onnx-tensorrt

I am relatively new to Jetson Nano, and I wanted to install your chess board recognition algorithm. I think I followed the steps pretty well, and in the onnx-tensorrt installation, when I run the make command in the build folder, I get the following error:

CMakeFiles/nvonnxparser.dir/build.make:221: *** target pattern contains no '%'. Stop. CMakeFiles/Makefile2:109: recipe for target 'CMakeFiles/nvonnxparser.dir/all' failed make[1]: *** [CMakeFiles/nvonnxparser.dir/all] Error 2 Makefile:151: recipe for target 'all' failed make: *** [all] Error 2

I do not know how to solve this issue. Can someone help me with this? Any type of help will be appreciated.

(Alternatively, for the setup part, do I need to download all 27 assets in the initial release link?)

Thank you.

Network validation failed converting from Onnx to TRT model

I wanted to try it out on my Jetson Nano, which has TRT 7.1. So I have to create the TRT model instead of using the one in Releases. When I run onnx2trt to convert:

./onnx2trt SqueezeNet1p1.onnx -o SqueezeNet1p1.trt

It asks me to provide an optimization profile:

----------------------------------------------------------------
Input filename:   SqueezeNet1p1.onnx
ONNX IR version:  0.0.5
Opset version:    10
Producer name:    keras2onnx
Producer version: 1.6.5
Domain:           onnx
Model version:    0
Doc string:
----------------------------------------------------------------
Parsing model
Building TensorRT engine, FP16 available:1
    Max batch size:     32
    Max workspace size: 1024 MiB
[2021-03-22 22:50:16   ERROR] Network has dynamic or shape inputs, but no optimization profile has been defined.
[2021-03-22 22:50:16   ERROR] Network validation failed.
terminate called after throwing an instance of 'std::runtime_error'
  what():  Failed to create object
Aborted (core dumped)

Could you please help me with this step?

Add basic testing for the piece inference chess logic

Given the complexity and possible combinations in the code in lc2fen/infer_pieces.py, it would be extremely beneficial to add some basic testing for (some of) the functions in that file.

To that end, a new test directory could be created in the root of the repository to contain the test scripts. Two good python testing options could be unittest or pytest.

Feel free to leave a comment if you'd like some help/guidance tackling this problem or if you have some additional ideas.

Move Jetson Nano version to new branch

Since the software stack supported by the Jetson Nano is no longer going to be updated, move all of the dependencies and code to a new branch to not hinder the development of new features of the project.

  • Check version working on Jetson Nano
  • Rename requirements_pc.txt -> requirements.txt
  • Reorganize README
  • Add pointers to the different branches

Update Python and TensorFlow versions for PC

Per #34, we're going to have two versions, one for Jetson Nano and the other for a "standard desktop," but since the current version in the repo is for the standard desktop, should I go ahead and update the Python version to 3.11 and the TensorFlow version to 2.13.0?

(What about the other version? Should I write "version-agnostic" code so that the code works with both TensorFlow 2.13.0 and TensorFlow 2.5.0? Or do I not worry about the Jetson Nano's version for now?)

Create project diagram

Creating a diagram of the project and how the different modules interact with each other would ease the development process. This could be added to the documentation to better navigate the project.

Create Docker image

Create a Docker image to simplify setting up the development environment significantly. This can be done by following the setting up documentation for PC (Linux/Windows).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.