-
Notifications
You must be signed in to change notification settings - Fork 7.2k
Adding File object option to utils.save_image #1301
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
Conversation
|
||
def save_image(tensor, filename, nrow=8, padding=2, | ||
normalize=False, range=None, scale_each=False, pad_value=0): | ||
def save_image(tensor, fp, nrow=8, padding=2, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we add the format
option, shouldn't we allow all additional parameters (dpi
for .png
, ...)for Image.save()
? We could add a **kwargs
or save_kwargs
which is simply passed to im.save()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, they could be added based on the use cases.
IMO file option provides an interface to write as bytes and this might be used in a couple of cases .
What do you think ? @pmeier
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be clear: I'm in favour of adding this as you did. I was just asking myself why we should only include the format
option although Image.save()
has a lot more options for the different file formats. I think if we give the user more control over the options we might as well give him all options. This of course does not need to happen in this PR. I just wanted to put it out there, so I or we don't forget it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pmeier , I also feel the same, providing a full control over the save would be a better thing for the user.
Also the save_image in the current utils only differs in the make_grid part and there should be no harm in making the rest similar to PIL.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the PR!
I have a question: can't the user add a .name
attribute to their file object, so that pillow knows which format to use? Would this work around the need of the format
?
Official documentation states:
If we go "by the book" we should include That being said, I have no experience with this. Maybe @kracwarlock (author of #1299 ) can offer some insights, if this works for him. |
@fmassa , surely this is going to be a workaround. |
@fmassa any further comments ? |
Sure, let's do it this way, although I think that I would like to avoid having to make the function signature more complicated. |
closes #1299
cc : @fmassa