所以我正在运行CNN来解决分类问题.我有3个带有3个池层的转换层.P3是最后一个合并图层的输出,其尺寸为:[Batch_size,4,12,48] _,我想将该矩阵展平为[Batch_size,2304]大小矩阵,为2304 = 4*12*48.我曾经使用"选项A"(见下文)一段时间,但有一天我想尝试"选项B",这在理论上会给我相同的结果.但事实并非如此.我之前已经开过以下帖子了
tf.contrib.layers.flatten(x)是否与tf.reshape(x,[n,1])相同?
但这只会增加更多的混乱,因为尝试"选项C"(取自上述线程)给出了一个新的不同结果.
P3 = tf.nn.max_pool(A3, ksize = [1, 2, 2, 1], strides = [1, 2, 2, 1], padding='VALID')
P3_shape = P3.get_shape().as_list()
P = tf.contrib.layers.flatten(P3) <-----Option A
P = tf.reshape(P3, [-1, P3_shape[1]*P3_shape[2]*P3_shape[3]]) <---- Option B
P = tf.reshape(P3, [tf.shape(P3)[0], -1]) <---- Option C
Run Code Online (Sandbox Code Playgroud)
我更倾向于使用"选项B",因为这是我在蒲公英Mane的视频中看到的那个(https://www.youtube.com/watch?v=eBbEDRsCmv4&t=631s),但我想理解为什么这3个选项会给出不同的结果.
我想知道如何避免我的文档(报告)周围出现这些空白。我并不是真正的 LaTeX 专家,而且文档很大,所以我不知道如何导入可重新创建的示例。相反,我在下面附上两个示例:(有关 MWE,请参阅下面的编辑 1 )
和这个:
-------------------------------------------------- -------编辑 1 ------------------------------------------ -------------------
我现在添加了一个 MWE,以便您可以重现该问题。我想我可以做得更“最小”,但我意识到减少文本会影响我所指的空间,所以我留下了一些文本,对此感到抱歉。您可以观察到文档第一页中有过大的空白。
\documentclass[12pt,a4paper,twoside,openany]{report}
\usepackage[utf8]{inputenc}
\usepackage{tabu}
\usepackage{array}
\usepackage{diagbox}
\usepackage{moreverb}
\usepackage{commath}
\usepackage{textcomp}
\usepackage{lmodern}
\usepackage{helvet}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{subfig}
\numberwithin{equation}{chapter}
\numberwithin{figure}{chapter}
\numberwithin{table}{chapter}
\usepackage{listings}
\usepackage[top=3cm, bottom=3cm,
inner=3cm, outer=3cm]{geometry}
\usepackage{eso-pic}
\newcommand{\backgroundpic}[3]{
\put(#1,#2){
\parbox[b][\paperheight]{\paperwidth}{
\centering
\includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]{#3}}}}
\usepackage{float}
\usepackage{parskip}
\setlength{\parindent}{0cm}
\usepackage{hyperref}
\hypersetup{colorlinks, citecolor=black,
filecolor=black, linkcolor=black,
urlcolor=black}
\setcounter{tocdepth}{5}
\setcounter{secnumdepth}{5}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\Huge\bfseries\filcenter}
{{\fontsize{50pt}{1em}\vspace{-4.2ex}\selectfont \textnormal{\thechapter}}}{1ex}{}[]
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\thechapter.\space#1}{}}
\def\layout{2}
\ifnum\layout=2
\fancyhf{}
\fancyhead[LE,RO]{\nouppercase{ \leftmark}}
\fancyfoot[LE,RO]{\thepage}
\fancypagestyle{plain}{
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[LE,RO]{\thepage}}
\else
\fancyhf{}
\fancyhead[C]{\nouppercase{ …Run Code Online (Sandbox Code Playgroud) 一个相当简单的,但现在只是变得疯狂。
当应用 dropout 来规范我的神经网络时,应该在哪里应用它?
对于示例,让我们想象 2 个卷积层,然后是 1 个全连接层。“A2”是第二个卷积层的激活。我应该将 dropout 应用于这些激活,还是应该将其应用于以下全连接层的权重?还是真的无所谓?
我的直觉告诉我,正确的做法是在全连接层的权重上应用 dropout,而不是在第二个 conv 层的激活中,但我在很多地方看到了相反的情况。
我见过两个类似的问题,但没有一个有令人满意的答案。
python neural-network regularized conv-neural-network tensorflow
我正在尝试创建我自己的模块 (mi_modulo.py) 并将我在 Jupyter Notebook 脚本中定义的所有函数移到那里,使其看起来更干净。
但是,当我尝试使用已移至模块的这些函数时,我无法全部使用它们,并且收到以下消息: 模块 'mi_modulo' 没有属性 'train4_data_import'
我已经安装了 Anaconda 3.0,并且正在通过 Jupyter Notebooks 运行 Python 3.7.0。(如果这些表达听起来很别扭,请原谅我,我知道一点 Python,但我并不是真正了解所有安装、软件、IDE 等细节。)
## mi_modulo.py ##
def train4_data_import(file_name):
df = pandas.read_excel(file_name)
force = df["Signal 1"].values[13:]
acceleration1 = df["Signal 2"].values[13:]
acceleration2 = df["Signal 3"].values[13:]
return force, acceleration1, acceleration2
def hola_mundo():
print("whatever")
## script ##
import pandas
import mi_modulo as mi
mi.hola_mundo()
mi.train4_data_import("Tren4.xlsx")
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:(我打算展示一张图片,但我不确定如何使用这种 stackoverflow 新表单样式来做到这一点)
whatever
AttributeError Traceback (most recent call last)
<ipython-input-18-69a38929f7e6> in <module>()
3 mi.hola_mundo()
4
----> 5 mi.train4_data_import()
AttributeError: module …Run Code Online (Sandbox Code Playgroud)