gudbrandtandberg / ChessVision

Extract chess positions from photos of 2D chessboards (chess books, screenshots, etc.)
Other
33 stars 8 forks source link

Weights missing #4

Open pmauchle opened 5 years ago

pmauchle commented 5 years ago

I wanted to try out ChessVision but could not get it running.

python cv_endpoint.py

IOError: Unable to open file (unable to open file: name = '/path/to/ChessVision/weights/best_weights_square.hdf5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

I saw you included this in your gitignore: weights/*

Maybe adding the weights to the source would resolve this error?

gudbrandtandberg commented 5 years ago

Hey, I'm glad you wanted to try out ChessVision! The thing is that one of the weight-files is over the 100MB file size. Could you just retrain the networks from scratch? If you'd rather not do that I can try to figure something out for sharing the weight file tonight. Or just include a zipped version.. G

On Wed, Oct 17, 2018 at 2:10 PM maup1 notifications@github.com wrote:

I wanted to try out ChessVision but could not get it running.

python cv_endpoint.py

IOError: Unable to open file (unable to open file: name = '/path/to/ChessVision/weights/best_weights_square.hdf5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)

I saw you include this in your gitignore: weights/*

Maybe adding the weights would resolve this error?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/gudbrandtandberg/ChessVision/issues/4, or mute the thread https://github.com/notifications/unsubscribe-auth/AGQzR5elhi0ufdZYPbEDTPz-JvIZW0OCks5ulx4mgaJpZM4XjxJ0 .

pmauchle commented 5 years ago

I don't mind retrain it, could you point me in the right direction to do so?

gudbrandtandberg commented 5 years ago

Ok, great.

First make sure you have all the requirements (keras, quilt, theano, tensorflow, cv2, flask, etc..).

Training the square classifier should be relatively easy. Running

python training/train_square_classifier.py

downloads the data using quilt and starts training.

For the board extractor, I haven't started using quilt for training yet. However you can use quilt to download the dataset by hand, find out where quilt stores the actual jpg-files and move them to CVROOT/data/board_extractor/images and /masks.

Then running

python training/train_board_extractor.py

should work.

After you have trained the networks you can run cv_endpoint to host the models. Here you have to use the theano backend, it doesn't work with tensorflow, and I don't know why.. If you can figure that out it would be great! For training it doesn't matter which backend you use.

Hope it works, feel free to ask me if it does'nt. And I encourage you to make even better models than I have! Don't have much time for working on this now unfortunately..

Good luck!

G

On Wed, Oct 17, 2018 at 3:21 PM maup1 notifications@github.com wrote:

I don't mind retrain it, could you point me in the right direction to do so?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gudbrandtandberg/ChessVision/issues/4#issuecomment-430625604, or mute the thread https://github.com/notifications/unsubscribe-auth/AGQzRwXTxDn4f_6N2EVqZJBhmf0HX1cbks5uly7cgaJpZM4XjxJ0 .

pmauchle commented 5 years ago

Running the square classifier was no problem, but I don't have any success running the train_board_extractor.py

The square classifier uses model = build_square_classifier()

In train_board_extractor.py on line 86: model = load_extractor() # or train from scratch?!

I didn't figure out how to train it from scratch?

gudbrandtandberg commented 5 years ago

Oh I think you can just exchange line 86 with:

model = build_board_extractor()

as long as you make sure it's imported from wherever it lives. The line I have is useful if you'd rather pick up training from where you left of, say if you have some more data. The only difference is that load_extractor loads the weights, which you currently don't have!

pmauchle commented 5 years ago

There is no build_board_extractor() in the code, maybe I just don't see it

gudbrandtandberg commented 5 years ago

Oh no, you're right! model/u_net/get_unet_256() is the one you're looking for!

On Tue, Oct 23, 2018 at 10:23 AM maup1 notifications@github.com wrote:

There is no build_board_extractor() in the code, maybe I just don't see it

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/gudbrandtandberg/ChessVision/issues/4#issuecomment-432146786, or mute the thread https://github.com/notifications/unsubscribe-auth/AGQzR-1uLP16WifufHocYf6l-tBWJ7zmks5untIUgaJpZM4XjxJ0 .