繁体   English   中英

我从 AutoEncoder tensorflow2.0 按时间顺序得到错误的数据

[英]I get wrong data form AutoEncoder tensorflow2.0 Data in chronological order

我做了一个自动编码器 model,并运行测试

  • 行为在我的形象中:
    • 输入:7data * 88 宽度
    • output:7数据*88宽度
  • 行为真实
    • 输入:7data * 88 宽度
    • output:7数据*88*88

如何解决它帮助我;;

环境: tensorflow2.0

代码

import tensorflow as tf

from tensorflow.keras.layers import Dense, Flatten, Conv2D
from tensorflow.keras import Model

from matplotlib import pyplot as plt #プロット

# create model
width = 88
%matplotlib inline
class MyModel(Model):
    def __init__(self):
        super(MyModel, self).__init__()

        self.d1 = Dense(width, activation='tanh')
        self.d2 = Dense(width/8, activation='tanh')
        self.d3 = Dense(width, activation='tanh')

    def call(self, x):   
        x = self.d1(x)
        x = self.d2(x)
        return self.d3(x)
model3 = MyModel()

# create dataset (TOO easy)
import numpy as np
def f(x):    
    x = x/width
    return x

arange = np.arange(0,width,1)
if 'test' in locals():
    del test
for j in range(7):

    x = []
    for i in range(len(arange)):
        x.append(f(arange[i]))

    if 'test' in locals():
        test = np.vstack([test,x])
    else:
        test = x
    plt.plot(x)

test= test[..., tf.newaxis]

# run test
print(model3(test).numpy().shape)

回答

output shape: (7, 88, 88)

将数据类型 numpy 更改为 tf.tensor 使其工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM