autumnai / leaf

Open Machine Intelligence Framework for Hackers. (GPU/CPU)
Apache License 2.0
5.56k stars 270 forks source link

The `phloem` crate (currently used by `leaf`) seems to be deprecated in favour of collenchyma's `SharedTensor` #41

Closed mitchmindtree closed 8 years ago

mitchmindtree commented 8 years ago

I also noticed that the collenchyma crate version seemed to be a little behind - I figure you must be busy with other work at the moment, but I just thought I'd ask what your plans are for updating. Are you currently waiting on developments upstream? Or has this simply not been updated yet due to lack of time?

MichaelHirn commented 8 years ago

Yes, we have currently a ton of different development upstreams, that need to me submitted and merged. We are currently preparing for the 0.2.0 release with a ton of performance improvements, bug fixes, usability improvements, layers, solvers, etc. I will see if we can be more transparent about it and publish the changes into the develop branch, soon. Also a lot of fixes happens in the Collenchyma crate and it's BLAS and NN plugin crates.

hobofan commented 8 years ago

@mitchmindtree You can see one of the latest states of development (although lacking in polish and documentation) on the dump-0.2.0 branch. In that Phloem has be replaced by the SharedTensor.

mitchmindtree commented 8 years ago

@MichaelHirn @hobofan thank you both for the info!

@hobofan I noticed that on the "dump-0.2.0" branch you are temporarily using some local deps in the Cargo.toml for development - you might already know this, but just in case I thought I'd mention that you can also override local dependencies for development by listing the local repos you'd like to use in a local .cargo/config file (here are some docs that explain this further). This can be a nice alternative to modifying the Cargo.toml in projects every time you need to develop with local repos.

Looking forward to 0.2.0! I guess I'll wait until that lands before having a closer look :+1:

Also, I'll leave this issue up in case you'd like to leave it as info for other passersby who are curious.

hobofan commented 8 years ago

@mitchmindtree Notice the .cargo/config in the dump-0.2.0 branch ;)

During development I generally first change the dependency in Cargo.toml and only if it's necessary in the .cargo/config and then when it is about to be pushed, I do that in reverse. I do this because there is one big difference in using the .cargo/config: It forces all crates that have the provided crate as dependency to use this version. Escpecially with crates like Collenchyma where multiple cates depend on it, this can result in very different builds, where sometimes the .cargo/config version will work and the Cargo.toml version will not.

mitchmindtree commented 8 years ago

@hobofan Ahhh of course! That makes sense, thanks for the explanation :)

hobofan commented 8 years ago

@mitchmindtree I am thinking about closing this issue, since in the current master there shouldn't be any mention of phloem anymore.

Any unresolved questions regarding that we can help with?

mitchmindtree commented 8 years ago

@hobofan I'm happy to close this!

(Just thought I'd mention that there are still a couple mentions in the docs (here and here)).