我试图理解为什么在致密层和重塑层之间存在不匹配的尺寸。该代码段代码不正确吗?密集层输出的维数为image_resize ^ 2 * 128,为什么重塑会出现冲突?
f1 <- function(dat1, dat2, colNm) {
dplyr::full_join(dat1, dat2, by = colNm) %>%
dplyr::mutate(newCol = coalesce(col2.y, col2.x)) %>%
dplyr::select(colNm, newCol)
}
f1(df1, df2)
f1(df1, df3)
这是显示的错误:
df1 <- data.frame(col1 = letters[1:5], col2 = seq(10, 50, by = 10))
df2 <- data.frame(col1 = letters[c(1, 3, 4)], col2 = c(100, 150, 160))
df3 <- data.frame(col1 = letters[c(2, 5, 3)], col2 = c(200, 250, 400))
答案 0 :(得分:0)
您的输入为784,并以7 * 7 * 128进入Dense
层
因此您将在Reshape
中得到784 * 7 * 7 * 128的输出,而不是7 * 7 * 128
答案 1 :(得分:0)
Dense
层作用于输入数据的最后一维,如果要将图像输入提供给Dense
层,则应首先将其展平:
x = Flatten()(x)
x = Dense(image_resize * image_resize * 128)(x)
x = Reshape((image_resize, image_resize, 128))(x)
然后Reshape
将起作用。