计算多重降维技术的mse
我正在尝试找到一个指标,以比较此博客文章中所做的类似于多维性降低技术 pca-vs-autoEncoders-for-dimensionalityality-reduction-reduction ... 特别是比较的这一部分 # pCA reconstruction pca.recon
0 2023-05-21
编程技术问答社区
keras自动编码器与PCA的比较
我正在玩一个玩具示例,以了解PCA与Keras AutoCoder 我有以下了解PCA的代码: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from sklearn import decomposition from sklearn import datasets iris = datasets.load_iris() X = iris.data pca = decomposition.PCA(n_components=3) pca.fit(X) pca.explained_variance_ratio_ array([ 0.92461621, 0.05301557, 0.01718514]) pca.components_ array([[ 0.36158968, -0.08226889, 0.85657211, 0.358
0 2023-05-21
编程技术问答社区
如何将张量转换为Numpy数组
我是TensorFlow的初学者.我在帮助下制作了简单的自动编码器.我想将最终decoded张量转换为numpy array.i尝试使用.eval(),但我无法使用它.如何将张量转换为numpy? 我的输入图像大小为512*512*1,数据类型是原始图像格式. 代码 #input image_size = 512 hidden = 256 input_image = np.fromfile('PATH',np.float32) # Variables x_placeholder = tf.placeholder("float", (image_size*image_size)) x = tf.reshape(x_placeholder, [image_size * image_size, 1]) w_enc = tf.Variable(tf.random_normal([hidden, image_size * image_size], mean=0.0, stdd
14 2023-05-02
编程技术问答社区
Keras中的深度自动编码器将一个维度转换为另一个维度i
我正在使用向量来表示图像和字幕的矢量执行图像字幕任务. 标题向量的腿/尺寸为128. 图像向量的长度/尺寸为2048. 我想做的是训练自动编码器,以获取能够将文本向量转换为图像向量的编码器.以及能够将图像向量转换为文本向量的解码器. 编码器:128-> 2048. 解码器:2048-> 128. 我跟随 this 实现浅网络的教程想要. ,但我无法弄清楚如何在同一教程之后创建一个深层网络. x_dim = 128 y_dim = 2048 x_dim_shape = Input(shape=(x_dim,)) encoded = Dense(512, activation='relu')(x_dim_shape) encoded = Dense(1024, activation='relu')(encoded) encoded = Dense(y_dim, activation='relu')(encoded) decoded = Dense(
0 2023-04-22
编程技术问答社区
为什么自动编码器与编码器+解码器的预测结果不同?
我在遵循建议在这个问题中,编码器和解码器分开了.我的目标是一旦对自动编码器进行了培训,我的目标是重新使用解码器.我的自动编码器的中央层是Dense层,因为我想在之后学习. 我的问题是,如果我编译并适合整个自动编码器,以Decoder()Encoder()(x)写入x是输入,那么当我做 时,我会得到不同的预测 autoencoder.predict(triending_set) W.R.T.如果我首先在一组中心功能中编码训练集,然后让解码器对其进行解码.一旦对自动编码器进行了培训,这两种方法应给出相同的答案. from tensorflow.keras.layers import Input, Dense, BatchNormalization, Flatten, Lambda, Activation, Conv1D, MaxPooling1D, UpSampling1D, Reshape from tensorflow.keras.models import Mod
2 2023-04-22
编程技术问答社区
为什么自动编码器的解码器在最后一层使用sigmoid?
我正在寻找工作变异自动编码器. 主要类 class VAE(nn.Module): def __init__(self): super(VAE, self).__init__() self.fc1 = nn.Linear(784, 400) self.fc21 = nn.Linear(400, 20) self.fc22 = nn.Linear(400, 20) self.fc3 = nn.Linear(20, 400) self.fc4 = nn.Linear(400, 784) def encode(self, x): h1 = F.relu(self.fc1(x)) return self.fc21(h1), self.fc22(h1) def reparametrize(self, mu, logvar):
54 2023-04-22
编程技术问答社区
如何在keras中单独使用自动编码器的编码器?
我已经培训了以下自动编码器模型: input_img = Input(shape=(1, 32, 32)) x = Convolution2D(16, 3, 3, activation='relu', border_mode='same')(input_img) x = MaxPooling2D((2, 2), border_mode='same')(x) x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x) x = MaxPooling2D((2, 2), border_mode='same')(x) x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x) encoded = MaxPooling2D((2, 2), border_mode='same')(x) x = Convolution2D(8, 3,
6 2023-04-22
编程技术问答社区
Keras-Variational Autoencoder NaN损失
我正在尝试使用我在keras示例中发现的变量自动编码器的实现( https://github.com/keras-team/keras/blob/master/master/examples/variational_autoencoder.py.py ). 我刚刚重新制作了代码,以便从jupyter笔记本中更轻松地使用它(我的代码: https://github.com/matbell/autoencoders/blob/master/models/models/models/vae.py.py.py ). 但是,当我尝试将模型拟合到数据上时,我会得到以下输出: Autoencoders/models/vae.py:69: UserWarning: Output "dense_5" missing from loss dictionary. We assume this was done on purpose, and we will not be expecting
2 2023-04-22
编程技术问答社区
TensorFlow:如何定义dataset.train.next_batch?
我正在尝试学习张力流并研究以下示例:我在下面的代码中有一些问题: for epoch in range(training_epochs): # Loop over all batches for i in range(total_batch): batch_xs, batch_ys = mnist.train.next_batch(batch_size) # Run optimization op (backprop) and cost op (to get loss value) _, c = sess.run([optimizer, cost], feed_dict={X: batch_xs}) # Display logs per epoch step if epoch % display_step == 0: print("Epoch:", '%04d' % (epoch+1),
48 2023-04-22
编程技术问答社区
带有自定义梯度的自定义激活不工作
我正在尝试为简单的神经网络培训编写代码.目的是定义自定义激活功能,而不是让Keras自动采用它的衍生物以进行反向传播,而是让Keras使用我的自定义梯度功能来进行自定义激活: import numpy as np import tensorflow as tf import math import keras from keras.models import Model, Sequential from keras.layers import Input, Dense, Activation from keras import regularizers from keras import backend as K from keras.backend import tf from keras import initializers from keras.layers import Lambda @tf.custom_gradient def custom_activation(x
18 2023-04-22
编程技术问答社区
ValueError: 输入0与层conv_1不兼容:预期ndim=3,发现ndim=4
我正在尝试制作一个变性自动编码器来学习编码DNA序列,但是遇到了出乎意料的错误. 我的数据是一个单热数组的数组. 我得到的问题是一个值错误.这告诉我我有一个四维输入,当我的输入显然是三维的(100、4008、4). 实际上,当我打印出seq层时,它说它的形状为(?,100、4008、4). 当我取出一个维度时,它给了我一个二维的错误. 任何帮助将不胜感激! 代码是: from keras.layers import Input from keras.layers.convolutional import Conv1D from keras.layers.core import Dense, Activation, Flatten, RepeatVector, Lambda from keras import backend as K from keras.layers.wrappers import TimeDistributed from k
0 2023-04-22
编程技术问答社区
Python/Keras/Theano深度自动编码器的错误尺寸
我正在尝试遵循深度的自动编码器keras 异常:输入0与layer lase dense_18不兼容: 预期形状=(无,128),发现形状=(无,32)* 错误在行上decoder = Model(input=encoded_input, output=decoder_layer(encoded_input)) from keras.layers import Dense,Input from keras.models import Model import numpy as np # this is the size of the encoded representations encoding_dim = 32 #NPUT LAYER input_img = Input(shape=(784,)) #ENCODE LAYER # "encoded" is the encoded representation of the input encoded = Den
2 2023-04-22
编程技术问答社区
LSTM自动编码器问题
tldr: 自动编码器低于时间的重建,只预测平均值. 问题设置: 这是我尝试在序列到序列自动编码器的尝试的摘要.该图像取自本文: 编码器:标准LSTM层.输入序列在最终的隐藏状态中编码. 解码器: lstm单元格(我认为!).从最后一个元素x[N]. 开始一次重建序列一个元素 解码器算法如下如下:长度N: 获取解码器初始隐藏状态hs[N]:只需使用编码器最终隐藏状态. 序列中重建最后一个元素:x[N]= w.dot(hs[N]) + b. 其他元素的模式相同:x[i]= w.dot(hs[i]) + b 使用x[i]和hs[i]作为LSTMCell的输入,以获取x[i-1]和hs[i-1] 最低工作示例: 这是我的实现,从编码器开始: class SeqEncoderLSTM(nn.Module): def __init__(self, n_features, latent_size): super(Seq
4 2023-04-22
编程技术问答社区
Keras中带捆绑权重的自动编码器的解码器'的权重
我已经在Keras实施了绑定的权重编码器,并成功训练了它. 我的目标是仅将自动编码器的解码器部分用作另一个网络的最后一层,以微调网络和解码器. 的事情是,正如您可以从摘要中看到的那样,解码器没有参数,而我的绑定权重实现,因此没有什么可微调的. (decoder.get_weights()返回[]) 我的问题是:我是否应该更改绑定权重的实现,以便绑扎层仍然可以保持权重,那就是编码器的转换权重?如果是,怎么样? 还是我刚刚离开? 以下是自动编码器模型的摘要以及绑定的密集层的类(从 https://github.com/nanopony/keras-convautoencoder/blob/master/autoencoder_layers.py.) Layer (type) Output Shape Param # Connected to ====
16 2023-04-22
编程技术问答社区
二元交叉熵损在自动编码器上是如何工作的?
我仅使用Dense层编写了一个香草自动编码器. 以下是我的代码: iLayer = Input ((784,)) layer1 = Dense(128, activation='relu' ) (iLayer) layer2 = Dense(64, activation='relu') (layer1) layer3 = Dense(28, activation ='relu') (layer2) layer4 = Dense(64, activation='relu') (layer3) layer5 = Dense(128, activation='relu' ) (layer4) layer6 = Dense(784, activation='softmax' ) (layer5) model = Model (iLayer, layer6) model.compile(loss='binary_crossentropy', optimizer='adam') (train
14 2023-04-22
编程技术问答社区
深度信念网络与卷积神经网络的对比
我是神经网络领域的新手,我想知道深信念网络和卷积网络之间的区别. 另外,是否有一个深度卷积网络,这是深信和卷积神经网的结合? 这是我到目前为止所收集的.如果我错了,请纠正我. 对于图像分类问题,深度信念网络有许多层,每个层都使用贪婪的层面策略进行训练. 例如,如果我的图像大小为50 x 50,并且我想要一个具有4层的深网络,即 输入层 隐藏的第1层(HL1) 隐藏的第2层(HL2) 输出层 我的输入层将具有50 x 50 = 2500个神经元,hl1 = 1000个神经元(SAS),hl2 = 100个神经元(SAS)和输出层= 10个神经元, 为了在输入层和HL1之间训练权重(W1),我使用自动编码器(2500-1000-2500),并学习大小2500 x 1000的W1(这是无监督的学习).然后,我通过第一个隐藏层向前馈入所有图像以获取一组功能,然后使用另一个自动编码器(1000-100-100-1000)获取下一组功能,最后使用SoftMax层(100
6 2023-04-22
编程技术问答社区
如何将LSTM-自动编码器应用于变长的时间序列数据?
我在本教程中读取lstm-autoencoder:from keras.layers import Input, LSTM, RepeatVector from keras.models import Model inputs = Input(shape=(timesteps, input_dim)) encoded = LSTM(latent_dim)(inputs) decoded = RepeatVector(timesteps)(encoded) decoded = LSTM(input_dim, return_sequences=True)(decoded) sequence_autoencoder = Model(inputs, decoded) encoder = Model(inputs, encoded) 在此实现中,他们将输入固定为形状(timeSteps,input_dim),这意味着时间序列数据的长度固定为timesteps.如果我记得正确的RNN/LSTM
26 2023-04-22
编程技术问答社区
如何决定用于图像分类的卷积神经网络的参数?
我正在使用卷积神经网络(无监督的特征学习来检测特征 +软磁回归分类器)进行图像分类.我已经浏览了Andrew Ng在这方面的所有教程. (http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial). 我开发的网络具有: 输入层 - 尺寸8x8(64个神经元) 隐藏层 - 尺寸400个神经元 输出层 - 尺寸3 我已经了解了使用稀疏自动编码器连接输入层与隐藏层的权重,因此具有400个不同的功能. 通过从任何输入图像(64x64)中获取连续的8x8补丁并将其馈送到输入层,我获得了400个大小的特征图(57x57). 然后,我将最大池与大小19 x 19的窗口一起获得400个尺寸的特征图3x3. i将此功能映射馈送到软马克斯层以将其分为3个不同的类别. 在教程中建议了这些参数,例如隐藏层的数量(网络深度)和每层神经元的数量,因为它们已成功地用于一个特定数据集,其中所有图像均为大小为64x64 .
10 2023-04-22
编程技术问答社区
在编码器和解码器上分割自动编码器 keras
我正在尝试创建一个自动编码器: 训练模型 拆分编码器和解码器 可视化压缩数据(coder) 使用任意压缩数据获取输出(解码器) from keras.layers import Input, Dense, Conv2D, MaxPooling2D, UpSampling2D from keras.models import Model from keras import backend as K from keras.datasets import mnist import numpy as np (x_train, _), (x_test, _) = mnist.load_data() x_train = x_train.astype('float32') / 255. x_train = x_train[:100,:,:,] x_test = x_test.astype('float32') / 255. x_test = x_train x_train = n
4 2023-04-22
编程技术问答社区
Keras中add_loss函数的作用是什么?
目前,我偶然发现了各种自动编码器,并试图使它们使用Keras在MNIST上工作.我在 Github . 我的问题涉及以下代码行: # Build model vae = Model(x, x_decoded_mean) # Calculate custom loss xent_loss = original_dim * metrics.binary_crossentropy(x, x_decoded_mean) kl_loss = - 0.5 * K.sum(1 + z_log_var - K.square(z_mean) - K.exp(z_log_var), axis=-1) vae_loss = K.mean(xent_loss + kl_loss) # Compile vae.add_loss(vae_loss) vae.compile(optimizer='rmsprop') 为什么使用add_loss而不是将其指定为编译选项? vae.compile(opti
12 2023-04-22
编程技术问答社区