如果我想在Keras中使用BatchNormalization函数,那么我是否只需要在开头调用它一次?
我为它阅读了这个文档:http://keras.io/layers/normalization/
我不知道我应该把它称之为什么.以下是我的代码试图使用它:
model = Sequential()
keras.layers.normalization.BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None)
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2)
Run Code Online (Sandbox Code Playgroud)
我问,因为如果我运行包含批量规范化的第二行的代码,如果我运行没有第二行的代码,我得到类似的输出.所以要么我没有在正确的位置调用该功能,要么我认为它没有那么大的差别.
python neural-network keras data-science batch-normalization
如何从Keras中的HDF5文件加载模型?
我尝试了什么:
model = Sequential()
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(LeakyReLU(alpha=0.3))
model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(LeakyReLU(alpha=0.3))
model.add(BatchNormalization(epsilon=1e-06, mode=0, momentum=0.9, weights=None))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd)
checkpointer = ModelCheckpoint(filepath="/weights.hdf5", verbose=1, save_best_only=True)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2, callbacks=[checkpointer])
Run Code Online (Sandbox Code Playgroud)
上面的代码成功地将最佳模型保存到名为weights.hdf5的文件中.我想要做的是然后加载该模型.以下代码显示了我是如何尝试这样做的:
model2 = Sequential()
model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5")
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
IndexError Traceback (most recent call last)
<ipython-input-101-ec968f9e95c5> in <module>()
1 model2 = Sequential()
----> 2 model2.load_weights("/Users/Desktop/SquareSpace/weights.hdf5")
/Applications/anaconda/lib/python2.7/site-packages/keras/models.pyc in load_weights(self, filepath)
582 g = f['layer_{}'.format(k)]
583 weights …Run Code Online (Sandbox Code Playgroud) 如何RDD使用分布式方法,IPython和Spark 找到整数的中位数?的RDD是约700 000元,因此过大,以收集和发现中位数.
这个问题与这个问题类似.但是,问题的答案是使用Scala,我不知道.
使用Scala答案的思考,我试图在Python中编写类似的答案.
我知道我首先要排序RDD.我不知道怎么.我看到sortBy(按给定的方式对此RDD进行排序keyfunc)和sortByKey(对此进行排序RDD,假设它由(键,值)对组成.)方法.我认为两者都使用键值,而我RDD只有整数元素.
myrdd.sortBy(lambda x: x)?rdd.count())的长度.编辑:
我有个主意.也许我可以索引我的RDD然后key = index和value = element.然后我可以尝试按价值排序?我不知道这是否可行,因为只有一种sortByKey方法.
我正在训练970个样本并对243个样本进行验证.
在Keras中拟合模型以优化val_acc时,批量大小和时期数量应该有多大?根据数据输入大小,是否有任何经验法则?
我不明白输出中使用哪个准确度来比较我的2 Keras模型,看看哪个更好.
我是使用"acc"(来自训练数据?)一个还是"val acc"(来自验证数据?)一个?
每个时代都有不同的acc和val acc.我如何知道我的模型作为一个整体的acc或val acc?我是否将所有时期accs或val accs平均以找到整个模型的acc或val acc?
模型1输出
Train on 970 samples, validate on 243 samples
Epoch 1/20
0s - loss: 0.1708 - acc: 0.7990 - val_loss: 0.2143 - val_acc: 0.7325
Epoch 2/20
0s - loss: 0.1633 - acc: 0.8021 - val_loss: 0.2295 - val_acc: 0.7325
Epoch 3/20
0s - loss: 0.1657 - acc: 0.7938 - val_loss: 0.2243 - val_acc: 0.7737
Epoch 4/20
0s - loss: 0.1847 - acc: 0.7969 - val_loss: 0.2253 - val_acc: 0.7490
Epoch 5/20 …Run Code Online (Sandbox Code Playgroud) 我刚刚使用Keras构建了我的第一个模型,这是输出.它看起来像是在构建任何Keras人工神经网络后获得的标准输出.即使在查看文档后,我也不完全了解时代是什么以及输出中打印的内容是什么.
什么是Keras的时代和损失?
(我知道这可能是一个非常基本的问题,但我似乎无法在网上找到答案,如果答案真的很难从文档中收集,我认为其他人会有同样的问题,因此决定在这里发布.)
Epoch 1/20
1213/1213 [==============================] - 0s - loss: 0.1760
Epoch 2/20
1213/1213 [==============================] - 0s - loss: 0.1840
Epoch 3/20
1213/1213 [==============================] - 0s - loss: 0.1816
Epoch 4/20
1213/1213 [==============================] - 0s - loss: 0.1915
Epoch 5/20
1213/1213 [==============================] - 0s - loss: 0.1928
Epoch 6/20
1213/1213 [==============================] - 0s - loss: 0.1964
Epoch 7/20
1213/1213 [==============================] - 0s - loss: 0.1948
Epoch 8/20
1213/1213 [==============================] - 0s - loss: 0.1971
Epoch 9/20
1213/1213 [==============================] - …Run Code Online (Sandbox Code Playgroud) 这是我的代码,如果我使用其他激活层,如tanh,它可以工作:
model = Sequential()
act = keras.layers.advanced_activations.PReLU(init='zero', weights=None)
model.add(Dense(64, input_dim=14, init='uniform'))
model.add(Activation(act))
model.add(Dropout(0.15))
model.add(Dense(64, init='uniform'))
model.add(Activation('softplus'))
model.add(Dropout(0.15))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='binary_crossentropy', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16, show_accuracy=True, validation_split=0.2, verbose = 2)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,它不起作用,并说"TypeError:'PReLU'对象不可调用",并在model.compile行调用错误.为什么会这样?所有非高级激活功能都有效.但是,高级激活功能(包括此功能)都不起作用.
如何使用 Python 和 Plotly 创建不显示异常值的箱线图?
我有一个完整的点列表,用于创建一个包含许多异常值的箱线图,并且范围对于可比较的箱线图来说太大了。
我只是根本不想在箱线图上显示此列表中的异常值。
如果没有,那么我尝试在绘制数据之前从数据中删除异常值。然而,Plotly 提出了一些我没有作为异常值删除的点。
我在情节之间有很大的空间.在matplotlib中,有一个称为紧密布局的布局可以删除它.在情节上有任何类似的布局吗?我正在使用iPython笔记本进行绘图,因此空间有限.请参见下图中的空白处.

以前有关此错误的问题有答案说您需要做的就是更新您的Spark版本.我刚刚删除了早期版本的Spark并安装了为Hadoop 2.6.0构建的Spark 1.6.3.
我试过这个:
s_df = sc.createDataFrame(pandas_df)
Run Code Online (Sandbox Code Playgroud)
并得到这个错误:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-4e8b3fc80a02> in <module>()
1 #creating a spark dataframe from the pandas dataframe
----> 2 s_df = sc.createDataFrame(pandas_df)
AttributeError: 'SparkContext' object has no attribute 'createDataFrame'
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么?我尝试删除并重新安装相同的1.6版本,但它对我不起作用.
这是我的环境变量,我正在搞乱让我的pyspark正常工作:
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin"
export PATH
# Setting PATH for Python 2.7
# The orginal version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
# added by Anaconda installer
export PATH="/Users/pr/anaconda:$PATH"
# path to JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
#Spark
export SPARK_HOME="/Users/pr/spark" #version 1.6
export …Run Code Online (Sandbox Code Playgroud) python ×9
data-science ×6
keras ×6
apache-spark ×2
plotly ×2
hadoop ×1
median ×1
pyspark ×1
rdd ×1