我正在尝试堆叠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) 我正在尝试使用以下代码从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)
我已经浏览了各个论坛,但找不到适合我的正确答案。
我使用 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)
我想获取“来自蒙特卡洛模拟的数据”并将其保存为字符串。
我正在尝试在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) 我正在尝试访问以主目录子目录为根的文件。为此,我正在使用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)
任何帮助将非常感激。
我正在尝试使用 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) 我正在尝试通过安装库(allennlp)pip3。但它抱怨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.0和0.3.1使用之间进行切换 …
我在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)
我正在尝试使用显式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
我试图在不使用 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 ×6
pytorch ×4
numpy ×2
python-3.x ×2
tensorflow ×2
allennlp ×1
csv ×1
dataset ×1
derivative ×1
directory ×1
file ×1
gradient ×1
homebrew ×1
keras ×1
os.walk ×1
pip ×1
subdirectory ×1
tensor ×1