小编Yin*_*Gao的帖子

Python使用opencv从图像创建视频

我试图创建一个视频来显示数据的动态变化,比如只是连续快速地逐个显示图像,所以我使用了图像(图像只是称为1,2,3,4,......)并编写了以下代码:

import cv2
import numpy as np

img=[]
for i in range(0,5):
    img.append(cv2.imread(str(i)+'.png'))

height,width,layers=img[1].shape

video=cv2.VideoWriter('video.avi',-1,1,(width,height))

for j in range(0,5):
    video.write(img)

cv2.destroyAllWindows()
video.release()
Run Code Online (Sandbox Code Playgroud)

并引发了一个错误:

TypeError: image is not a numpy array, neither a scalar
Run Code Online (Sandbox Code Playgroud)

我想我以错误的方式使用了这个列表,但我不确定.那我哪里做错了?

python opencv

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

Python色彩条:如何在for循环中停止其重复

我编写了一个for循环来生成一组图像:

for p in range(0,153):
im=plt.imshow(M[p,0:28,:].T,extent=[0,time.max(),depth.max(),0],aspect='auto')
plt.tight_layout()
cbar=plt.colorbar(im,orientation='vertical')
cbar.set_label('Vz[mm]')
plt.title('Rohdaten '+str(p)+'. Umlauf D874 Ch5')
plt.xlabel('Messzeit[s]')
plt.ylabel('Messtiefe[mm]')
savefig(os.path.join('/Users/gaoyingqiang/Desktop/1-153Umlauf',str(p)+'.png'))
Run Code Online (Sandbox Code Playgroud)

但这使图像中的颜色条像下面那样循环: 是不是很奇怪

我不明白为什么彩条在重复自己。

python matplotlib

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

TensorFlow:TypeError:不允许将tf.Tensor作为Python bool使用

我正在尝试使用CNN输出中的描述符来定义三重态损失,但是当我尝试训练网络时会出现此错误。

我对损失函数的定义:

def compute_loss(descriptor, margin):
    diff_pos = descriptor[0:1800:3] - descriptor[1:1800:3]
    diff_neg = descriptor[0:1800:3] - descriptor[2:1800:3]
    Ltriplet = np.maximum(0, 1 - tf.square(diff_neg)/(tf.square(diff_pos) + margin))
    Lpair = tf.square(diff_pos)

    Loss = Ltriplet + Lpair

    return Loss
Run Code Online (Sandbox Code Playgroud)

这里的描述子是CNN的结果,CNN的收入是一组三重集合,包含按此顺序准确的锚,拉和推。输入时,我将600个三元组打包在一起,并将其输入到CNN中。

然后在训练网络时出现此错误:

2018-03-08 16:40:49.529263: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
Traceback (most recent call last):
  File "/Users/gaoyingqiang/Documents/GitHub/Master-TUM/TDCV/exercise_3/ex3/task2_new.py", line 78, in <module>
    loss = compute_loss(h_fc2, margin)
  File "/Users/gaoyingqiang/Documents/GitHub/Master-TUM/TDCV/exercise_3/ex3/task2_new.py", line 37, in compute_loss
    Ltriplet = np.maximum(0, 1 - …
Run Code Online (Sandbox Code Playgroud)

python numpy neural-network deep-learning tensorflow

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

pytorch:无法加载 CNN 模型并进行预测 TypeError:'collections.OrderedDict' 对象不可调用

我使用 MNIST 数据集训练了一个 CNN 模型,现在想要预测图像的分类,其中包含数字 3。

但是当我尝试使用这个 CNN 进行预测时,pytorch 给了我这个错误:

TypeError: 'collections.OrderedDict' object is not callable
Run Code Online (Sandbox Code Playgroud)

这就是我写的:

cnn = torch.load("/usr/prakt/w153/Desktop/score_detector.pkl")
img = scipy.ndimage.imread("/usr/prakt/w153/Desktop/resize_num_three.png")
test_x = Variable(torch.unsqueeze(torch.FloatTensor(img), dim=1), volatile=True).type(torch.FloatTensor).cuda()
test_output, last_layer = cnn(test_x)
pred = torch.max(test_output, 1)[1].cuda().data.squeeze()
print(pred)
Run Code Online (Sandbox Code Playgroud)

这里有一些解释: img要预测的图像大小为 28*28score_detector.pkl是经过训练的 CNN 模型

任何帮助将不胜感激!

python tensorflow pytorch

3
推荐指数
2
解决办法
9742
查看次数

pytorch masked_fill:为什么我不能屏蔽所有零?

我想用 屏蔽分数矩阵中的所有零-np.inf,但我只能屏蔽部分零,看起来像

在此处输入图片说明

你在右上角看到还有没有被掩盖的零 -np.inf

这是我的代码:

q = torch.Tensor([np.random.random(10),np.random.random(10),np.random.random(10), np.random.random(10), np.zeros((10,1)), np.zeros((10,1))])
k = torch.Tensor([np.random.random(10),np.random.random(10),np.random.random(10), np.random.random(10), np.zeros((10,1)), np.zeros((10,1))])
scores = torch.matmul(q, k.transpose(0,1)) / math.sqrt(10)
mask = torch.Tensor([1,1,1,1,0,0])
mask = mask.unsqueeze(1)
scores = scores.masked_fill(mask==0, -np.inf)
Run Code Online (Sandbox Code Playgroud)

也许面具是错的?

python tensorflow pytorch

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

pandas DataFrame:如何将单词判为单词并选择10个单词以上的行?

我有一个DataFrame,每一行都有一个句子。但是句子的长度不一样。我想选择包含10个以上单词的行,例如

df = df.loc[len(df[src].str.split()) > 10]
Run Code Online (Sandbox Code Playgroud)

但这会引起密钥为真的错误。怎么做?

python dataframe pandas

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