Conversation
|
Can one of the admins verify this patch? |
|
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
|
I added my email to my profile, hope this helps the CLA check. |
|
CLAs look good, thanks! |
|
I would love to have this in contrib/ can you move the files there? Then we can merge. |
|
Is this being actively worked on? If not, I'd be glad to give this a go. It would be very useful in getting tensorflow building on clusters with old versions of glibc and the like. |
|
Can one of the admins verify this patch? |
|
@rbharath Hi, sorry for the delay, I've been caught up in another project over the past few weeks, I was hoping to get back to this sooner. Your help is most welcome, thanks a lot! Please feel free to ping me if something is not clear in the code, and I'll try to come back to this within the next couple of weeks. |
|
@ageron: Glad to be useful! I'll give this a shot. I'm no cmake expert, but hopefully I can make enough progress to get somewhere useful. |
|
@ageron I checked out this PR and tried to get tensorflow to build on my machine using cmake (Ubuntu 12.04 with glic 2.15, gcc 4.9.1, cmake 3.5). I made it a ways, but the build crashes when trying to compile the re2 library: The cmake code uses the command ExternalProject to internally download re2 and build it. The failure above is due the linking flag '-lrt' being missing (the rt library was merged into glibc from 2.17 onwards, but I have an old version of glibc locally). The strange thing here though is that I can clone re2 from github manually and get it to build outside of cmake, so there's some arcana about the cmake build that's confusing me. Do you have any thoughts? |
|
@rbharath That's really weird, I'm looking into it. Also, I'm moving cmake to tensorflow/contrib/cmake, as requested, and catching up to all the changes that have happened in the last few weeks. I'll try to finish by tomorrow. |
|
@rbharath I updated the code to move cmake/ to tensorflow/contrib/cmake/, and I updated to the latest upstream commit and fixed a couple issues. The code builds and runs fine on my MacOSX machine ( Now it builds all the way to the end, but I get a segfault when I run tf_tutorials_example_trainer on Ubuntu. I'm investigating why, here's a quick dbg session: Before building TensorFlow, I installed a few packages: I also built and installed Protobuf 3 from the source in google/protobuf (I followed the instructions in google/protobuf/cmake/README.md, without gmock) |
|
@martinwicke Hi Martin, I moved the |
|
Thanks @ageron! I'm merging this for the greater good, even if it's still broken. |
|
Merged. Is the segfault the same problem you had in your first version? |
|
@ageron, @martinwicke I managed to get around the linking issues in re2 (The fix suggested above didn't quite work for me, but something close did. However, I'm now running into a make error when compiling Do you have any thoughts on possible fixes? |
|
I think your version of gcc doesn't know how to parse "using typename BinaryLinearAlgebraOp<Scalar, SupportsBatchOperationT>::Matrix;" higher in the file -- my suggestion is to either upgrade your gcc and/or maybe downgrade our code to use less sophisticated C++ features :) |
|
@vrv Thanks for the pointer! @martinwicke I've made the changes required to get CMake to compile on ubuntu in PR #1309. Could you take a quick look? @ageron: Unfortunately, I'm also seeing a segfault in my compiled version. I'll do some digging on my end as well to see if I can figure something out. |
|
I'm closing this PR (it's merged). Feel free to continue using it as a message board, or move to #1309. |
…pstream-pr-dropout-fp32-fp16 Use CPU to generate random state in dropout
This PR adds very basic CMake support, to unblock people who can't use Bazel (eg. Windows users).
The CMake files are all located in the
cmakesubdirectory. Usage:This builds the tutorial C++ training example (along with all dependencies).
Limitations: no GPU, no python, no tests, no install targets, tested only on MacOSX, and needs a bit of code cleanup. It's a first version to get the ball rolling.