第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

不相容的形狀:[1020,1,1] 與 [1019,1,1] - 張量流

不相容的形狀:[1020,1,1] 與 [1019,1,1] - 張量流

慕田峪7331174 2022-09-27 10:50:25
當我將神經(jīng)網(wǎng)絡的輸出設(shè)置為1時出現(xiàn)問題,它在數(shù)據(jù)數(shù)組中出現(xiàn)了問題,指責哪個形狀更大,如果我使用,一切都可以正常工作!periods = len(valuesAnalisys) - 1時期:periods = 1返回:Imcompatible shapes: [1020,1,1] vs. [1019,1,1]神經(jīng)網(wǎng)絡:datecollect = [x[0] for x in dataSet]servers = [x[1] for x in dataSet]valuesAnalisys = [float(x[2]) for x in dataSet]base = np.array(valuesAnalisys)periods = 1future_forecast = 1X = base[0:(len(base) - (len(base) % periods))]X_batches = X.reshape(-1, periods, 1)y = base[1:(len(base) - (len(base) % periods)) + future_forecast]y_batches = y.reshape(-1, periods, 1)X_test = base[-(periods + future_forecast):]X_test = X_test[:periods]X_test = X_test.reshape(-1, periods, 1)y_test = base[-(periods):]y_test = y_test.reshape(-1, periods, 1)tf.reset_default_graph()appetizer = 1hidden_neurons = 100exit_neurons = 1xph = tf.placeholder(tf.float32, [None, periods, appetizer])yph = tf.placeholder(tf.float32, [None, periods, exit_neurons])cell = tf.contrib.rnn.BasicRNNCell(num_units = hidden_neurons, activation = tf.nn.relu)cell = tf.contrib.rnn.OutputProjectionWrapper(cell, output_size = 1)exit_rnn, _ = tf.nn.dynamic_rnn(cell, xph, dtype = tf.float32)calculateError = tf.losses.mean_squared_error(labels = yph, predictions = exit_rnn)otimizador = tf.train.AdamOptimizer(learning_rate = 0.001)training = otimizador.minimize(calculateError)with tf.Session() as sess:    sess.run(tf.global_variables_initializer())    for epoch in range(2000):        _, cost = sess.run([training, calculateError], feed_dict = {xph: X_batches, yph: y_batches})        if epoch % 100 == 0:            print("[INFO] Epoch: {} - Level Error: {}".format(epoch,cost))    forecast = sess.run(exit_rnn, feed_dict = {xph: X_test})y_test.shapey_test2 = np.ravel(y_test)final_forecast = np.ravel(forecast)mae = mean_absolute_error(y_test2, final_forecast)for (host, forecast, date) in list(zip(servers, final_forecast, datecollect)):    send.postForecastMemory(host, forecast, cost, date)
查看完整描述

1 回答

?
月關(guān)寶盒

TA貢獻1772條經(jīng)驗 獲得超5個贊

罪魁禍首似乎是RNN細胞中固定的時間維度。


xph = tf.placeholder(tf.float32, [None, periods, appetizer])

yph = tf.placeholder(tf.float32, [None, periods, exit_neurons])


cell = tf.contrib.rnn.BasicRNNCell(num_units = hidden_neurons, activation = tf.nn.relu)

在這里,在 xph 和 yph 中,您都已將時間維度指定為周期。因此,如果您有更長或更短的信號,則會出現(xiàn)錯誤。


我無法推斷模型層的確切尺寸,因為您沒有指定輸入形狀或模型摘要。因此,使用占位符數(shù)字。


有兩種可能的修復方法。


不要使用固定的時間維度 = 周期,而應使用 None。

xph = tf.placeholder(tf.float32, [None, None, appetizer])

yph = tf.placeholder(tf.float32, [None, None, exit_neurons])

但是,缺點是每個批次中必須具有相同長度的信號,或者您可以簡單地使用批量大小 = 1 進行訓練,而不必擔心時間長度。


使用截斷/填充來解決長度問題。只需將信號傳遞到預處理函數(shù)即可添加/刪除額外的時間點。

import numpy as np

def pre_process(x, fixed_len = 1000): # x.shape -> (100, 1000, 1)


    if x.shape[1] >= fixed_len:

       return x[:,:fixed_len,:]

    else:

       z_ph = np.zeros((x.shape[0], fixed_len, x.shape[2]))

       z_ph[:,:x.shape[1],:] = x

       return z_ph


X_batches = pre_process(X_batches, YOU_CHOOSE_THIS_LENGTH) # based on the length of your data

X_test = pre_process(X_test, YOU_CHOOSE_THIS_LENGTH)


查看完整回答
反對 回復 2022-09-27
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號