问题所在
我正在尝试用构建卷积自动编码器,但在代码部分
encoded_input = Input(shape=(1, 28, 28))
# retrieve the last layer of the autoencoder model
decoder_layer = autoencoder.layers[-1]
# create the decoder model
decoder = Model(input=encoded_input, output=decoder_layer(encoded_input))
我得到了错误
[...]lib/python3.5/site-packages/
我有灰度图像,我在x_train和x_test中得到了它们的像素阵列。
x_train大小为(2500,21,512),x_test大小为(500,21,512)。我想做一个CNN,以获得输出y_train以及(2500,21,512)和y_test as (500,21,512),但这是我希望网络预测的其他图像的数组。
在MNIST中,他们这样做,但通过将y_train和y_test作为值的向量,然后将输出作为(3000,1)。如果不是为了我的图像,我怎么做同样的事情呢?
当我训练我的自动编码器时,无论我训练多少,损失都不会改变。
#Importing training data
inp = open('train.csv',"rb")
X = pickle.load(inp)
X = X/255.0
X = np.array(X)
X = np.reshape(X,(-1,25425))
input_img =tf.keras.layers.Input(25425,)
encoded1 = tf.keras.layers.Dense(75,activation=tf.nn.relu)(input_img)
encoded2
我想比较两张图片。
我采用的方法是对它们进行编码。
然后计算两个编码向量之间的角度以进行相似性度量。
下面的代码用于对图像进行编码,然后使用CNN与Keras一起解码图像。
但是,我需要得到张量encoded的值。
如何实现这一目标?
非常感谢。
from keras.layers import Input, Dense, Conv2D, MaxPooling2D, UpSampling2D
from keras.models import Model
from keras import backend as K
input_img = Input(shape=(28, 28, 1))
在ConvNet之后的avergae池中,由于上一输出层的形状为1,1512,因此不能将错误显示为尺寸为负值,因此无法进行最大池操作。是我在架构设计上做错了什么吗?
def identity_block2(X,f,filters):
f1,f2 = filters
X_init = X
X = Conv2D(f1,(3,3),strides=(1,1),padding='same')(X)
X = BatchNormalization()(X)
X = Activation('relu')(X)
X = Conv2D(f1,(3,3)
我有一个数据集,我正在尝试用Pytorch自动编码(有人告诉我卷积自动编码器是可行的)。这个数据集中的每个“点”都是一个1024位的向量,我正在尝试将这些向量编码成可能有10个值的向量。
我一直在寻找示例,但我能找到的所有内容都涉及到图像编码,所以我正在努力解决如何将其应用于我的数据集。
例如,对于为MNIST数据集创建自动编码器的代码:
import torch.nn as nn
import torch.nn.functional as F
# define the NN architecture
class ConvAutoencoder(nn.Module):
def __i
下面的代码导入MNIST数据集,并训练一个叠加的去噪自动编码器来破坏、编码,然后对数据进行解码。基本上,我想把它作为一种非线性的降维技术。如何访问模型正在编码的低维特性,以便将这些特性放入集群模型?理想情况下,我希望低维特征是循环或直线(显然,在现实中不是这样)。
import numpy as np
import os
import sys
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("/tm