标签: keras

如何检查keras tensorflow后端是GPU还是CPU版本?

我知道在安装tensorflow时,您要么安装GPU版本,要么安装CPU版本.如何检查安装了哪一个(我使用的是linux).

如果安装了GPU版本,如果GPU不可用,它会自动在CPU上运行还是会抛出错误?如果GPU可用,是否需要设置特定字段或值以确保它在GPU上运行?

keras tensorflow

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

深学南楠失败的原因

也许是一般性的问题,但任何人都可以解释什么会导致卷积神经网络发散?

具体细节:

我正在使用Tensorflow的iris_training模型和我自己的一些数据并继续获取

错误:tensorflow:模型与损失= NaN分歧.

追溯...

tensorflow.contrib.learn.python.learn.monitors.NanLossDuringTrainingError:训练期间NaN丢失.

回溯源于线:

 tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
                                        hidden_units=[300, 300, 300],
                                        #optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.001, l1_regularization_strength=0.00001),                                                          
                                        n_classes=11,
                                        model_dir="/tmp/iris_model")
Run Code Online (Sandbox Code Playgroud)

我已经尝试调整优化器,使用零学习率,并且不使用优化器.任何有关网络层,数据大小等的见解都是值得赞赏的.

python machine-learning theano keras tensorflow

46
推荐指数
4
解决办法
7万
查看次数

如何在keras中堆叠多个lstm?

我正在使用深度学习库keras并尝试堆叠多个LSTM而没有运气.以下是我的代码

model = Sequential()
model.add(LSTM(100,input_shape =(time_steps,vector_size)))
model.add(LSTM(100))
Run Code Online (Sandbox Code Playgroud)

上面的代码在第三行返回错误 Exception: Input 0 is incompatible with layer lstm_28: expected ndim=3, found ndim=2

输入X是一个形状的张量(100,250,50).我在tensorflow后端运行keras

deep-learning lstm keras tensorflow keras-layer

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

双向LSTM和LSTM之间有什么区别?

有人可以解释一下吗?我知道双向LSTM有前向和后向通过,但这比单向LSTM有什么优势?

他们每个人更适合什么?

machine-learning neural-network lstm keras recurrent-neural-network

45
推荐指数
4
解决办法
3万
查看次数

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

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

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

python machine-learning keras data-science

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

与相同的 Keras 模型(使用 Adam 优化器)相比,PyTorch 的误差高出 400%


总而言之

经过训练来预测函数的简单(单隐藏层)前馈 Pytorch 模型的性能y = sin(X1) + sin(X2) + ... sin(X10)明显低于使用 Keras 构建/训练的相同模型。为什么会这样?可以采取哪些措施来减轻性能差异?


在训练回归模型时,我注意到 PyTorch 的性能远远低于使用 Keras 构建的相同模型。

之前已经观察到并报道过这种现象

此前也已做出以下解释和建议

  1. 使用相同的十进制精度(32 与 64):1 , 2 ,

  2. 使用 CPU 而不是 GPU:1 , 2

  3. retain_graph=True计算 …

adam keras tensorflow pytorch

44
推荐指数
1
解决办法
3848
查看次数

将Keras模型转换为C++

我正在使用Keras(与Theano)来训练我的CNN模型.有谁知道如何在我的C++应用程序中使用它?有没有人尝试类似的东西?我有想法写一些python代码,它将生成一个带有网络功能的c ++代码 - 有什么建议吗?

我在这里找到了一个类似的问题,如何在C++中使用Tensorflow Keras模型,但没有回答.

c++ theano conv-neural-network keras tensorflow

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

如何正确组合TensorFlow的数据集API和Keras?

Keras的fit_generator()模型方法需要一个生成形状元组(输入,目标)的生成器,其中两个元素都是NumPy数组.文档似乎暗示如果我只是将Dataset迭代器包装在生成器中,并确保将Tensors转换为NumPy数组,我应该好好去.但是,这段代码给了我一个错误:

import numpy as np
import os
import keras.backend as K
from keras.layers import Dense, Input
from keras.models import Model
import tensorflow as tf
from tensorflow.contrib.data import Dataset

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'

with tf.Session() as sess:
    def create_data_generator():
        dat1 = np.arange(4).reshape(-1, 1)
        ds1 = Dataset.from_tensor_slices(dat1).repeat()

        dat2 = np.arange(5, 9).reshape(-1, 1)
        ds2 = Dataset.from_tensor_slices(dat2).repeat()

        ds = Dataset.zip((ds1, ds2)).batch(4)
        iterator = ds.make_one_shot_iterator()
        while True:
            next_val = iterator.get_next()
            yield sess.run(next_val)

datagen = create_data_generator()

input_vals = Input(shape=(1,))
output …
Run Code Online (Sandbox Code Playgroud)

keras tensorflow

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

NotImplementedError:无法将符号张量 (2nd_target:0) 转换为 numpy 数组

我尝试将 2 个损失函数传递给模型,因为Keras 允许这样做。

损失:字符串(目标函数名称)或目标函数或损失实例。见损失。如果模型有多个输出,您可以通过传递字典或损失列表对每个输出使用不同的损失。模型将最小化的损失值将是所有单个损失的总和。

两个损失函数:

def l_2nd(beta):
    def loss_2nd(y_true, y_pred):
        ...
        return K.mean(t)

    return loss_2nd
Run Code Online (Sandbox Code Playgroud)

def l_1st(alpha):
    def loss_1st(y_true, y_pred):
        ...
        return alpha * 2 * tf.linalg.trace(tf.matmul(tf.matmul(Y, L, transpose_a=True), Y)) / batch_size

    return loss_1st
Run Code Online (Sandbox Code Playgroud)

然后我建立模型:

l2 = K.eval(l_2nd(self.beta))
l1 = K.eval(l_1st(self.alpha))
self.model.compile(opt, [l2, l1])
Run Code Online (Sandbox Code Playgroud)

当我训练时,它会产生错误:

1.15.0-rc3 警告:tensorflow:来自 /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/resource_variable_ops.py:1630:调用 BaseResourceVariable。不推荐使用带有约束的init(来自 tensorflow.python.ops.resource_variable_ops)并将在未来版本中删除。说明

更新:如果使用 Keras 将 *_constraint 参数传递给层。

NotImplementedError Traceback (最近一次调用最后一次) in () 47 create_using=nx.DiGraph(), nodetype=None, data=[('weight', int)]) 48 ---> 49 model = SDNE(G, …

python keras tensorflow loss-function

43
推荐指数
3
解决办法
8万
查看次数

如何使用Keras切换后端(从TensorFlow切换到Theano)

我试图用Keras切换Backend(从TensorFlow切换到Theano)但是没有管理.我按照这里描述的临时措施,但它不起作用.我在keras的目录中创建了一个keras.json(因为它不存在)但是当我从Python导入它时它没有改变任何东西.

backend theano keras

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