小编blu*_*nox的帖子

如何堆叠Tensorflow的多层conv2d_transpose()

我正在尝试堆叠2层来tf.nn.conv2d_transpose()对张量进行上采样.它在前馈期间工作正常,但在向后传播时出现错误: ValueError: Incompatible shapes for broadcasting: (8, 256, 256, 24) and (8, 100, 100, 24).

基本上,我只是将第一个的输出设置conv2d_transpose为第二个的输入:

convt_1 = tf.nn.conv2d_transpose(...)
convt_2 = tf.nn.conv2d_transpose(conv_1)
Run Code Online (Sandbox Code Playgroud)

只使用一个conv2d_transpose,一切正常.只有多个conv2d_transpose堆叠在一起时才会出现错误.

我不确定实现多层的正确方法conv2d_transpose.任何关于如何解决这个问题的建议都将非常感激.

这是一个复制错误的小代码:

import numpy as np
import tensorflow as tf

IMAGE_HEIGHT = 256
IMAGE_WIDTH = 256
CHANNELS = 1

batch_size = 8
num_labels = 2

in_data = tf.placeholder(tf.float32, shape=(batch_size, IMAGE_HEIGHT, IMAGE_WIDTH, CHANNELS))
labels = tf.placeholder(tf.int32, shape=(batch_size, IMAGE_HEIGHT, IMAGE_WIDTH, 1))

# Variables
w0 = tf.Variable(tf.truncated_normal([3, 3, CHANNELS, …
Run Code Online (Sandbox Code Playgroud)

deep-learning tensorflow deconvolution

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

无法导入名称izip

我正在尝试使用以下代码从csv文件转置矩阵:

import csv
from itertools import izip
a = izip(*csv.reader(open("TDM.csv", "rb")))
csv.writer(open("output.csv", "wb")).writerows(a)
Run Code Online (Sandbox Code Playgroud)

不幸的是,发生以下错误:

import csv
from itertools import izip
a = izip(*csv.reader(open("TDM.csv", "rb")))
csv.writer(open("output.csv", "wb")).writerows(a)
Run Code Online (Sandbox Code Playgroud)

我已经浏览了各个论坛,但找不到适合我的正确答案。

python csv

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

np.loadtxt 忽略标头,如何保存标头数据?

我使用 savetxt 保存了一个 numpy 数组,并给了该数组一个标题。当我使用 loadtxt 读取文件时,标题将被忽略,只有数据保存在我的新数组中。我如何访问标题,因为它包含我想保存为字符串的重要信息。

编辑:

np.savetxt(file_name, array, delimiter=",", header='x,y,z, data from monte carlo simulation')
data = np.loadtxt('test', dtype=float, delimiter=',')
Run Code Online (Sandbox Code Playgroud)

我想获取“来自蒙特卡洛模拟的数据”并将其保存为字符串。

python numpy

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

在tensorflow中嵌套while循环

我正在尝试在keras中实现损失函数,例如以下伪代码

for i in range(N):
    for j in range(N):
        sum += some_calculations
Run Code Online (Sandbox Code Playgroud)

但是我读到张量流不支持这种for循环,因此我从这里开始了解了while_loop(cond,body,loop_vars)函数

我在这里了解了while循环的基本工作原理,因此我实现了以下代码:

def body1(i):
    global data
    N = len(data)*positive_samples     //Some length
    j = tf.constant(0)    //iterators
    condition2 = lambda j, i :tf.less(j, N)   //one condition only j should be less than N
    tf.add(i, 1)   //increment previous index i
    result = 0

    def body2(j, i):
        global similarity_matrix, U, V
        result = (tf.transpose(U[:, i])*V[:, j])   //U and V are 2-d tensor Variables and here only a column is extracted …
Run Code Online (Sandbox Code Playgroud)

keras tensorflow tensor

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

使用 os.walk 读取文件

我正在尝试访问以主目录子目录为根的文件。为此,我正在使用os.walk(). 我能够成功访问文件名并将其存储在列表中。但是,当我尝试使用 . 打开这些文件时open(filename, 'r'),我收到一条错误消息,告诉我没有这样的文件或目录存在。

我认为这里的问题是我只访问'names'而不是实际文件本身。我的代码如下所示:

list_of_files = {}
for (dirpath, dirnames, filenames) in 
os.walk("C:\\Users\\Akarshkb\\Desktop\\cs361hw\\HMP_Dataset"):
    for filename in filenames:
        if filename.endswith('.txt'): 
            list_of_files[filename] = os.sep.join([dirpath, filename])
            file = open(filename, 'r')
            file.read()
            file.close()
print (list_of_files)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

        `FileNotFoundError                         Traceback (most recent call 
    last)
    <ipython-input-40-10ae3e92446a> in <module>()
          4         if filename.endswith('.txt'):
          5             list_of_files[filename] = os.sep.join([dirpath, 
    filename])
    ----> 6             file = open(filename, 'r')
          7             file.read()
          8             file.close()

    FileNotFoundError: [Errno 2] No such file or directory: 'Accelerometer-2011- 
   04-11-13-28-18-brush_teeth-f1.txt'`
Run Code Online (Sandbox Code Playgroud)

任何帮助将非常感激。

python directory file os.walk subdirectory

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

PyTorch - Torchvision - BrokenPipeError: [Errno 32] 管道破损

我正在尝试使用 PyTorch执行名为“训练分类器”的教程。当尝试调试这部分代码时:

import matplotlib.pyplot as plt
import numpy as np

# functions to show an image


def imshow(img):
    img = img / 2 + 0.5     # unnormalize
    npimg = img.numpy()
    plt.imshow(np.transpose(npimg, (1, 2, 0)))


# get some random training images
dataiter = iter(trainloader)
images, labels = dataiter.next()

# show images
imshow(torchvision.utils.make_grid(images))
# print labels
print(' '.join('%5s' % classes[labels[j]] for j in range(4)))
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

Files already downloaded and verified Files already downloaded and verified 
Files already downloaded and verified …
Run Code Online (Sandbox Code Playgroud)

python-3.x pytorch

5
推荐指数
3
解决办法
9535
查看次数

pip-无法安装特定的软件包版本

我正在尝试通过安装库(allennlppip3。但它抱怨PyTorch版本。虽然allennlp需要torch=0.4.0我有torch=0.4.1

...
Collecting torch==0.4.0 (from allennlp)
  Could not find a version that satisfies the requirement torch==0.4.0 (from allennlp) (from versions: 0.1.2, 0.1.2.post1, 0.4.1)
No matching distribution found for torch==0.4.0 (from allennlp)
Run Code Online (Sandbox Code Playgroud)

也可以手动安装:

pip3 install torch==0.4.0
Run Code Online (Sandbox Code Playgroud)

也不起作用:

  Could not find a version that satisfies the requirement torch==0.4.0 (from versions: 0.1.2, 0.1.2.post1, 0.4.1)
No matching distribution found for torch==0.4.0
Run Code Online (Sandbox Code Playgroud)

其他版本也一样。

Python是在Mac OS上Python 3.7.0通过安装的版本brew

我记得前段时间我可以在版本0.4.00.3.1使用之间进行切换 …

homebrew pip python-3.x pytorch allennlp

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

Google Colaboratory出错 - AttributeError:模块'PIL.Image'没有属性'register_decoder'

我在Google Colaboratory上运行此代码,我收到寄存器解码器的错误

image_data = dset.ImageFolder(root="drive/SemanticDataset/train/", transform = transforms.Compose([
                                        transforms.Scale(size=img_size),
                                        transforms.CenterCrop(size=(img_size,img_size*2)),
                                        transforms.ToTensor(),
                                        ]))
enter code herelabel_data = dset.ImageFolder(root="drive/SemanticDataset/label/", transform = transforms.Compose([
                                        transforms.Scale(size=img_size),
                                        transforms.CenterCrop(size=(img_size,img_size*2)),
                                        transforms.ToTensor(),
                                        ]))

image_batch = data.DataLoader(image_data, batch_size=batch_size, shuffle=False, num_workers=2)
label_batch = data.DataLoader(label_data, batch_size=batch_size, shuffle=False, num_workers=2)
for i in range(epoch):
   for _, (image, label) in enumerate(zip(image_batch, label_batch)):
       optimizer.zero_grad()

       x = Variable(image, requires_grad=True).cuda()
       y = Variable(label).cuda()

       out = model.forward(x)
       loss = loss_func(out, y)

       loss.backward()
       optimizer.step()

       if _ % 100 == 0:
           print("Epoch: "+i+"| Loss: " , loss)
Run Code Online (Sandbox Code Playgroud)

这是错误的屏幕截图

python dataset python-imaging-library pytorch

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

为什么我不断收到此错误“RuntimeWarning:int_scalars 中遇到溢出”

我正在尝试使用显式for 循环将二维 numpy 数组的所有行值和列值相乘:

product_0 = 1
product_1 = 1
for x in arr:
   product_0 *= x[0]
   product_1 *= x[1]
Run Code Online (Sandbox Code Playgroud)

我意识到该产品会爆炸成为一个非常大的数字,但根据我以前的经验,python 在处理非常非常大的数字时没有内存问题。
因此,据我所知,这是 numpy 的问题,除非我没有将巨大的产品存储在 numpy 数组或任何 numpy 数据类型中,因此它只是一个普通的 python 变量。

知道如何解决这个问题吗?

使用非就地乘法没有帮助 product_0 = x[0]*product_0

python numpy

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

PyTorch 梯度不同于手动计算的梯度

我试图在不使用 Pytorch 的 autograd 的情况下计算 1/x 的梯度。我使用公式 grad(1/x, x) = -1/x**2。当我将这个公式的结果与 Pytorch 的 autograd 给出的梯度进行比较时,它们是不同的。

这是我的代码:

a = torch.tensor(np.random.randn(), dtype=dtype, requires_grad=True)
loss = 1/a
loss.backward()
print(a.grad - (-1/(a**2)))
Run Code Online (Sandbox Code Playgroud)

输出是:

tensor(5.9605e-08, grad_fn=<ThAddBackward>)
Run Code Online (Sandbox Code Playgroud)

任何人都可以向我解释问题是什么?

python gradient derivative pytorch

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