Skip to content

Adds conv3d_transpose operation (3D "deconvolution") #3049

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Jun 28, 2016
Merged

Adds conv3d_transpose operation (3D "deconvolution") #3049

merged 4 commits into from
Jun 28, 2016

Conversation

daeyun
Copy link
Contributor

@daeyun daeyun commented Jun 26, 2016

This pull request contains the following changes:

  • Define gradients for Conv3DBackpropInputV2 and Conv3DBackpropFilterV2.
  • Add a new conv3d_transpose operation which uses Conv3DBackpropInputV2.
  • Test conv3d_transpose and Conv3DBackpropFilterV2.

Fixes #3012 #150

@tensorflow-jenkins
Copy link
Collaborator

Can one of the admins verify this patch?

@googlebot
Copy link

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 signed it!) and we'll verify. Thanks.


  • If you've already signed a CLA, it's possible we don't have your GitHub username or you're using a different email address. Check your existing CLA data and verify that your email is set on your git commits.
  • If you signed the CLA as a corporation, please let us know the company's name.

@daeyun
Copy link
Contributor Author

daeyun commented Jun 26, 2016

I signed the CLA.

@googlebot
Copy link

CLAs look good, thanks!

@ops.RegisterGradient("Conv3DBackpropInputV2")
def _Conv3DBackpropInputGrad(op, grad):
return [None,
nn_ops.conv3d_backprop_filter_v2(grad,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

weird indentation here, should be aligned with [

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi,

I've been looking for some useful stuff and found an interesting site with useful advices, please take a look http://agree.pumpjuice.com/e4ann

ziney2y

@vrv
Copy link

vrv commented Jun 27, 2016

very nice! just a few minor comments and then we can test.

@daeyun
Copy link
Contributor Author

daeyun commented Jun 28, 2016

Thanks, done.

@vrv
Copy link

vrv commented Jun 28, 2016

Thanks!
@tensorflow-jenkins test this please

@vrv vrv merged commit 24034f1 into tensorflow:master Jun 28, 2016
@KendallWeihe
Copy link

has this been tested and verified?

@vrv
Copy link

vrv commented Jun 28, 2016

There's a test to validate correctness, yes. If you think there's a bug in the implementation, please feel free to file an issue. Thanks!

@KendallWeihe
Copy link

I'm having a difficult time updating Tensorflow to include this code. I noticed that the function is in source code in the nn_ops.py file, but when I run the pip --upgrade it isn't included. Could I simply copy the function into my existing code, or does it include other dependencies?

@vrv
Copy link

vrv commented Jun 28, 2016

You could try one of the nightlies that might have this change in it: https://github.com/tensorflow/tensorflow#installation

Alternatively, you could build from sources at HEAD as well.

You could copy the contents of the files too, though it might be easy to get wrong.

@KendallWeihe
Copy link

that had it, thanks!

@KendallWeihe
Copy link

KendallWeihe commented Jun 30, 2016

Can we fix the issue where after a transpose, the dimensions are always <?,?, ?, ?, n_classes> -- can we get rid of the question marks and make them show the actual dimension value?

@KendallWeihe
Copy link

@vrv it isn't included in the Mac OSX nightly build or the build currently posted to the main install page. Is there any other way I can get it installed on my mac? I ask because of this issue on both of my linux machines *** Error in 'python': free(): invalid pointer outlined in this SO post: http://stackoverflow.com/questions/38129441/tensorflow-conv3d-transpose-error-in-python-free-invalid-pointer

@vrv
Copy link

vrv commented Jun 30, 2016

@KendallWeihe
Copy link

KendallWeihe commented Jun 30, 2016

@vrv Do you think this a bug with the latest build, or with the development of conv3d_transpose ? If it is with the development, then I need to open another issue.

@vrv
Copy link

vrv commented Jun 30, 2016

I have no idea -- conv3d_transpose is just a wrapper calling an existing function that already likely worked. I think filing a bug with a reproducible small example would help (small being the clear word here -- it should be a single call to conv3d_transpose that triggers the bug, ideally).

@KendallWeihe
Copy link

I opened a new issue: #3128

I wrote a small network to reproduce the issue -- I hope it was concise enough

@KendallWeihe
Copy link

@vrv Mac OS nightly build still hasn't been updated -- over a month old

@juanprietob
Copy link

Is this feature implemented for GPU?
I am getting the following error when tensorflow is compiled with GPU support

AttributeError: 'module' object has no attribute 'conv3d_transpose'

@KendallWeihe
Copy link

KendallWeihe commented Sep 12, 2016

@juanprietob I'm not sure this is in production at the moment. I installed from a nightly build. See the links for nightly builds in an above comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants