在单个密集层上使用TimeDistributed有什么区别吗?

时间:2019-03-12 17:26:32

标签: python tensorflow keras deep-learning

在单个Dense层周围添加TimeDistributed包装器之间有什么区别吗?两者都具有相同数量的参数(2,208)和相同的输出形状(None,6,32)。这样做的目的是使我拥有一个序列,该序列的长度为6个时间步长,每个时间步长都有我要通过Dense层传递的64个要素。

# With TimeDistributed
m = keras.models.Sequential()
m.add(keras.layers.TimeDistributed(keras.layers.Dense(32, activation='relu'), input_shape=(6, 64)))

# No TimeDistributed
m = keras.models.Sequential()
m.add(keras.layers.Dense(32, activation='relu', input_shape=(6, 64)))

1 个答案:

答案 0 :(得分:0)

不,两个示例之间没有区别。

默认情况下,如果>>> y="hello" >>> y=y.replace("h","m") >>> y 'mello' >>> type(y) <class 'str'> 层的from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC url ='https://www.countryflags.com/en/' driver = webdriver.Chrome() driver.get(url) items = [[item.get_attribute('href'),item.get_attribute('title')] for item in WebDriverWait(driver,30).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, "#ajaxTarget [title]")))] print(items) print(len(items)) #driver.quit() (不包括批次维度),则其行为与使用len(input_shape) = 2层的行为相同。

但是,如果将输入平整(Dense层,然后将其输入到TimeDistributed层中,则情况就不同了。