任何人都可以告诉我如何在python中读取包含.mhd / .raw文件的数据集?
我正在使用深度神经网络进行二元类分类.每当我使用binary_crossentropy时,我的模型都不能提供良好的准确性(它更接近随机预测).但是如果我通过制作输出层2的大小来使用分类交叉熵,那么我只能在接近0.90的1个时期内获得良好的准确性.有谁能解释这里发生了什么?
我有两个张量大小为[batch_size,seq_length,2]的序列。我想计算张量之间的平均欧几里得距离。做到这一点的优雅方法是什么?
我正在尝试使用keras进行图像的二进制分类.
我的CNN模型在训练数据方面训练有素(提供约90%的训练准确度和~93%的验证准确度).但是在培训期间,如果我设置批量大小= 15000,我得到图I输出,如果我设置批量大小= 50000,我得到图II作为输出.有人可以告诉我有什么问题吗?预测不应该取决于批量大小吗?
我用于预测的代码:
y=model.predict_classes(patches, batch_size=50000,verbose=1)
y=y.reshape((256,256))
我的模特: -
model = Sequential()
model.add(Convolution2D(32, 3, 3, border_mode='same',
input_shape=(img_channels, img_rows, img_cols)))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Convolution2D(64, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(Convolution2D(64, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
# let's train the model using SGD + momentum (how original).
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
Run Code Online (Sandbox Code Playgroud) I am trying to extract patches of fixed size centered at some given position (x,y). The code is given below-
for i,j in zip(indices[0],indices[1]):
patches.append(
x[None,
i-int(np.floor(patch_size/2.0)):i+int(np.floor(patch_size/2.0))+1,
j-int(np.floor(patch_size/2.0)):j+int(np.floor(patch_size/2.0))+1])
Run Code Online (Sandbox Code Playgroud)
Variable indices is the locations (indices.shape=(2,770)). x is the original image.
But this code is taking 25s seconds time. Can anyone tell me how to make this work faster? or any other alternatives if you can suggest it would be of great help.
我正在尝试在Keras中实现反卷积。我的模型定义如下:
model=Sequential()
model.add(Convolution2D(32, 3, 3, border_mode='same',
input_shape=X_train.shape[1:]))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Convolution2D(64, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(Convolution2D(64, 3, 3,border_mode='same'))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))
Run Code Online (Sandbox Code Playgroud)
我想在第一个卷积层给定的输出上执行去卷积或转置卷积convolution2d_1。
假设我们在第一个卷积层之后拥有的特征图X是(9, 32, 32, 32)其中的9 ,这是32x32我通过该层的维度图像的数量。通过get_weights()Keras函数获得第一层的权重矩阵。权重矩阵的维数为(32, 3, 3, 2)。
我用于执行转置卷积的代码是
conv_out = K.deconv2d(self.x, W, (9,3,32,32), dim_ordering = "th")
deconv_func = K.function([self.x, K.learning_phase()], conv_out)
X_deconv = deconv_func([X, 0 ])
Run Code Online (Sandbox Code Playgroud)
但是出现错误:
CorrMM shape inconsistency:
bottom shape: …Run Code Online (Sandbox Code Playgroud) Processed_image() 函数返回一个 cv2.Umat 类型值,该值将从 3 维重塑(h, ch, w)为 4 维,(h, ch, w, 1)因此i需要将其转换为 numpy 数组,或者如果可能的话,还可以帮助我直接 rehshapecv2.umat
类型变量直接重塑并转换为pytorch 张量,可以分配给 reshape_image_tensor。
img_w=640
img_h=640
img_ch=3
umat_img = cv2.UMat(img)
display_one(umat_img, "RESPONSE") #function created by me to display image
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
with torch.no_grad():
processed_img = preprocess_image(umat_img, model_image_size = (img_h, img_ch, img_w))
#___________write YOUR CODE here________
reshaped_images_tensor = torch.from_numpy(processed_img.reshape(img_h, img_ch, img_w, 1)).float().to(device) #images_tensor.reshape(img_h, img_ch, img_w, 1)
outputs = model(reshaped_images_tensor)
_, predicted = torch.max(outputs, 1) …Run Code Online (Sandbox Code Playgroud) python ×6
keras ×3
numpy ×3
keras-layer ×1
matplotlib ×1
opencv ×1
performance ×1
pytorch ×1
tensorflow ×1
theano ×1