pluskid / Mocha.jl

Deep Learning framework for Julia
Other
1.29k stars 254 forks source link

Attempted update to 0.7/1.0 - May need more work given segfault #253

Closed IanButterworth closed 5 years ago

IanButterworth commented 5 years ago

I think I've covered the basic updates to 1.0 syntax and this now now loads in 1.0.2 and 1.1.0-dev

However, the only example I've run (examples/ijulia/ilsvrc12/imagenet-classifier.ipynb) segfaults at the net = Net("imagenet", backend, layers) line.

IanButterworth commented 5 years ago

Oh, and I moved to the new package manager, which required assigning a uuid. I wasn't sure if that's the appropriate thing to do for a registered package, so that might need rolling back.

pluskid commented 5 years ago

@ianshmean Thanks very much for the efforts!! I will try to see what is seg-faulting.

Meanwhile, there seem to be a pre-generated UUID for every existing old package. For example, the one for Mocha.jl is here. The UUID seem to be different to the one in your PR. How did you generate the UUID in your PR?

Also, I'm new to the new Package management system, my guess is that the file Manifest.toml should not be part of a package?

IanButterworth commented 5 years ago

Happy to help!

I've updated the UUID to match, and as for the Manifest.toml file, from what I can tell both it and Project.toml can be checked in, according to this but it is hard to find example projects out there that are fully converted

IanButterworth commented 5 years ago

@pluskid I've been trying to figure out the segfault but failed so far. Have you found any clues? (I'm eager to incorporate Mocha into some v1.0 code)

pluskid commented 5 years ago

Still pushing through compatibility issues and modifying things on top of your commits. I'm trying to work it out from the unit tests, which I think is potentially easier to debug than the notebook.

IanButterworth commented 5 years ago

By the way, my MacOS Mojave setup was missing GraphViz for the dot functions, so that might need to added to build. I've been trying to figure that out, but the standard Homebrew.jl installation example seems to not work (once you've corrected for 1.0 syntax).

Edit: Perhaps this is a factor for the specific IJulia example, rather than a package dependency.. could just be a comment at the top of that notebook i.e. brew install graphvis. Either way it's off-topic and non-critical

pluskid commented 5 years ago

The segfault is mysteriously caused by the logging library memento.jl. I have temporarily disabled it. The fixes for unit tests now should work on CPU, but there should still be a lot of work to be done on GPU. Hope I can fix those over the weekend.

I created a new PR that contains your commits to track the progress #255

IanButterworth commented 5 years ago

Great! Thanks, I know this is tedious. By the way, I just caught an erroneous change I made. See above commit