小编Pro*_*Gov的帖子

如何以支持 autograd 的方式围绕其中心旋转 PyTorch 图像张量?

我想围绕它的中心随机旋转图像张量(B、C、H、W)(我认为是 2d 旋转?)。我想避免使用 NumPy 和 Kornia,这样我基本上只需要从 torch 模块导入。我也没有使用torchvision.transforms,因为我需要它与 autograd 兼容。本质上,我正在尝试为 DeepDream 等torchvision.transforms.RandomRotation()可视化技术创建一个 autograd 兼容版本(因此我需要尽可能避免伪影)。

import torch
import math
import random
import torchvision.transforms as transforms
from PIL import Image


# Load image
def preprocess_simple(image_name, image_size):
    Loader = transforms.Compose([transforms.Resize(image_size), transforms.ToTensor()])
    image = Image.open(image_name).convert('RGB')
    return Loader(image).unsqueeze(0)
    
# Save image   
def deprocess_simple(output_tensor, output_name):
    output_tensor.clamp_(0, 1)
    Image2PIL = transforms.ToPILImage()
    image = Image2PIL(output_tensor.squeeze(0))
    image.save(output_name)


# Somehow rotate tensor around it's center
def rotate_tensor(tensor, radians):
    ...
    return rotated_tensor

# Get a random angle …
Run Code Online (Sandbox Code Playgroud)

python rotation image-rotation rotational-matrices pytorch

5
推荐指数
1
解决办法
5293
查看次数

ValueError 兼容性和多行字符串美学?

我正在尝试以简洁、简洁的方式编写 ValueError 消息:

    raise ValueError("Model Architecture Not Recognized. Please ensure that your model's filename contains either"
    """ "vgg" and "16" for a 16 layer VGG model, "vgg" and "19" for a 19 layer VGG model, or "nin" for a Network"""
    " In Network model. Note that filenames are not case sensitive.")   
Run Code Online (Sandbox Code Playgroud)

这对 Python 2.7 和 Python 3 都有效吗?有没有更好的方法来显示多行错误消息?+在用于错误消息的字符串之间不使用 a 是否有任何问题?

python error-handling

3
推荐指数
1
解决办法
3023
查看次数

什么是"th","python","python3","java"等...在前面用于运行脚本的命令,叫做?

在Lua with Torch中,您使用"th"来运行Lua脚本.在Python中,您使用"python"或"python3"来运行python脚本.在Java中,您使用"java"来运行java类脚本.

命令前面的这个词是什么,实际上叫做?我试图自己搜索这个名字,但我找不到任何东西.

python java lua torch

1
推荐指数
1
解决办法
104
查看次数

从维基百科下载某些图像会导致意外的 UnidentifiedImageError

到目前为止,我一直在使用 PIL 和 requests 库下载某些维基百科图像,没有出现任何问题。在某些时候,某处发生了更改,现在我在尝试下载和加载以下图像时收到错误:

from PIL import Image
import requests

url_1 = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/" \
    + "Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/2728px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg"

#url_2 = "https://upload.wikimedia.org/wikipedia/commons/9/9d/The_Scream_by_Edvard_Munch%2C_1893_-_Nasjonalgalleriet.png"

#url_3 = "https://upload.wikimedia.org/wikipedia/en/8/8f/Pablo_Picasso%2C_1909-10%2C_Figure_dans_un_Fauteuil_%28Seated_Nude%" \
#    + "2C_Femme_nue_assise%29%2C_oil_on_canvas%2C_92.1_x_73_cm%2C_Tate_Modern%2C_London.jpg"


response = requests.get(url_1, stream=True)
img = Image.open(response.raw)
Run Code Online (Sandbox Code Playgroud)

以及由此产生的错误消息:

---------------------------------------------------------------------------

UnidentifiedImageError                    Traceback (most recent call last)

<ipython-input-2-9f0ecb1762aa> in <module>()
     13 
     14 response = requests.get(url_1, stream=True)
---> 15 img = Image.open(response.raw)

/usr/local/lib/python3.7/dist-packages/PIL/Image.py in open(fp, mode)
   2894         warnings.warn(message)
   2895     raise UnidentifiedImageError(
-> 2896         "cannot identify image file %r" % (filename if filename else fp)
   2897     ) …
Run Code Online (Sandbox Code Playgroud)

python python-imaging-library python-requests

1
推荐指数
1
解决办法
963
查看次数