标签: data-science

我在哪里调用Keras中的BatchNormalization函数?

如果我想在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

144
推荐指数
7
解决办法
14万
查看次数

'Conda'不被视为内部或外部命令

我在我的Windows 7 Professional机器上安装了Anaconda3 4.4.0(32位),并在Jupyter笔记本上导入了NumPy和Pandas,所以我认为Python安装正确.但是当我输入conda listconda --version在命令提示符时,它说conda is not recognized as internal or external command.

我为Anaconda3设置了环境变量; Variable Name: Path,Variable Value: C:\Users\dipanwita.neogy\Anaconda3

我如何使其工作?

python anaconda conda data-science

91
推荐指数
10
解决办法
20万
查看次数

如何从Keras中的HDF5文件加载模型?

如何从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)

python machine-learning keras data-science

72
推荐指数
4
解决办法
13万
查看次数

fit_transform()采用2个位置参数,但3个是使用LabelBinarizer

我是机器学习的新手,我一直在使用无监督学习技术.

该图显示了我的样本数据(完全清理后)屏幕截图: 示例数据

我有两个Pipline用于清理数据:

num_attribs = list(housing_num)
cat_attribs = ["ocean_proximity"]

print(type(num_attribs))

num_pipeline = Pipeline([
    ('selector', DataFrameSelector(num_attribs)),
    ('imputer', Imputer(strategy="median")),
    ('attribs_adder', CombinedAttributesAdder()),
    ('std_scaler', StandardScaler()),
])

cat_pipeline = Pipeline([
    ('selector', DataFrameSelector(cat_attribs)),
    ('label_binarizer', LabelBinarizer())
])
Run Code Online (Sandbox Code Playgroud)

然后我做了这两个管道的联合,相同的代码如下所示:

from sklearn.pipeline import FeatureUnion

full_pipeline = FeatureUnion(transformer_list=[
        ("num_pipeline", num_pipeline),
        ("cat_pipeline", cat_pipeline),
    ])
Run Code Online (Sandbox Code Playgroud)

现在我试图在数据上做fit_transform 但它显示我的错误.

转型代码:

housing_prepared = full_pipeline.fit_transform(housing)
housing_prepared
Run Code Online (Sandbox Code Playgroud)

错误消息:fit_transform()需要2个位置参数,但是给出了3个

scikit-learn data-science

67
推荐指数
6
解决办法
2万
查看次数

如何通过命令行在Mac上安装JQ?

我需要知道在Mac上安装JQ的最有效方法(el capitan).代码下载到我的mac但我想知道如何通过命令行安装和操作.

installation command-line json jq data-science

48
推荐指数
5
解决办法
7万
查看次数

在Keras中安装模型时,批量大小和时代数量应该有多大?

我正在训练970个样本并对243个样本进行验证.

在Keras中拟合模型以优化val_acc时,批量大小和时期数量应该有多大?根据数据输入大小,是否有任何经验法则?

python machine-learning keras data-science

44
推荐指数
6
解决办法
5万
查看次数

如何判断哪种Keras型号更好?

我不明白输出中使用哪个准确度来比较我的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)

python machine-learning keras data-science

42
推荐指数
2
解决办法
2万
查看次数

标准的Keras模型输出意味着什么?什么是Keras的时代和损失?

我刚刚使用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)

python machine-learning neural-network keras data-science

40
推荐指数
2
解决办法
2万
查看次数

ValueError:传递的项目数量错误 - 含义和建议?

我收到错误: ValueError: Wrong number of items passed 3, placement implies 1我正在努力弄清楚在哪里,以及我如何开始解决这个问题.

我真的不明白错误的含义; 这让我很难排除故障.我还包括了在我的Jupyter Notebook中触发错误的代码块.

数据很难附加; 所以我不是在寻找任何人试图为我重新创建这个错误.我只是想找到一些关于如何解决这个错误的反馈.

KeyError                                  Traceback (most recent call last)
C:\Users\brennn1\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\indexes\base.py in get_loc(self, key, method, tolerance)
   1944             try:
-> 1945                 return self._engine.get_loc(key)
   1946             except KeyError:

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4154)()

pandas\index.pyx in pandas.index.IndexEngine.get_loc (pandas\index.c:4018)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12368)()

pandas\hashtable.pyx in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12322)()

KeyError: 'predictedY'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
C:\Users\brennn1\AppData\Local\Continuum\Anaconda3\lib\site-packages\pandas\core\internals.py in set(self, item, value, check)
   3414         try:
-> …
Run Code Online (Sandbox Code Playgroud)

python prediction pandas data-science

36
推荐指数
2
解决办法
6万
查看次数

如何在Keras中使用高级激活层?

这是我的代码,如果我使用其他激活层,如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 machine-learning neural-network keras data-science

30
推荐指数
3
解决办法
2万
查看次数