小编Goi*_*Way的帖子

Keras,如何获得每一层的输出?

我已经使用CNN训练了二进制分类模型,这是我的代码

model = Sequential()
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1],
                        border_mode='valid',
                        input_shape=input_shape))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
# (16, 16, 32)
model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1]))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=pool_size))
# (8, 8, 64) = (2048)
model.add(Flatten())
model.add(Dense(1024))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(2))  # define a binary classification problem
model.add(Activation('softmax'))

model.compile(loss='categorical_crossentropy',
              optimizer='adadelta',
              metrics=['accuracy'])
model.fit(x_train, y_train,
          batch_size=batch_size,
          nb_epoch=nb_epoch,
          verbose=1,
          validation_data=(x_test, y_test))
Run Code Online (Sandbox Code Playgroud)

在这里,我想像TensorFlow一样获得每一层的输出,我该怎么做?

python deep-learning keras tensorflow

115
推荐指数
9
解决办法
12万
查看次数

TensorFlow,保存模型后为什么有3个文件?

阅读完文档后,我保存了一个模型TensorFlow,这是我的演示代码:

# Create some variables.
v1 = tf.Variable(..., name="v1")
v2 = tf.Variable(..., name="v2")
...
# Add an op to initialize the variables.
init_op = tf.global_variables_initializer()

# Add ops to save and restore all the variables.
saver = tf.train.Saver()

# Later, launch the model, initialize the variables, do some work, save the
# variables to disk.
with tf.Session() as sess:
  sess.run(init_op)
  # Do some work with the model.
  ..
  # Save the variables to disk.
  save_path = …
Run Code Online (Sandbox Code Playgroud)

tensorflow

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

如何在降价中显示下划线符号?

在降价时,my_stock_index是我的股票指数.但我想要它表明my_stock_index.怎么办?

markdown r-markdown

85
推荐指数
3
解决办法
5万
查看次数

如何在Tensorflow中应用Drop Out来提高神经网络的准确性?

Drop-Out是正规化技术.并且我想将它应用于非MNIST数据以减少过度拟合以完成我的Udacity深度学习课程作业.我已经阅读了关于如何调用的tensorflow文档tf.nn.dropout.这是我的代码

# before proceeding further.
from __future__ import print_function
import numpy as np  
import tensorflow as tf
from six.moves import cPickle as pickle


pickle_file = 'notMNIST.pickle'

with open(pickle_file, 'rb') as f:
    save = pickle.load(f)
    train_dataset = save['train_dataset']
    train_labels = save['train_labels']
    valid_dataset = save['valid_dataset']
    valid_labels = save['valid_labels']
    test_dataset = save['test_dataset']
    test_labels = save['test_labels']
    del save  # hint to help gc free up memory
    print('Training set', train_dataset.shape, train_labels.shape)
    print('Validation set', valid_dataset.shape, valid_labels.shape)
    print('Test set', test_dataset.shape, test_labels.shape)


image_size = 28 …
Run Code Online (Sandbox Code Playgroud)

neural-network deep-learning tensorflow

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

张量流中优化器的"apply_gradients"和"最小化"之间的区别

我感到困惑之间的差异apply_gradients,并minimize在tensorflow优化的.例如,

optimizer = tf.train.AdamOptimizer(1e-3)
grads_and_vars = optimizer.compute_gradients(cnn.loss)
train_op = optimizer.apply_gradients(grads_and_vars, global_step=global_step)
Run Code Online (Sandbox Code Playgroud)

optimizer = tf.train.AdamOptimizer(1e-3)
train_op = optimizer.minimize(cnn.loss, global_step=global_step)
Run Code Online (Sandbox Code Playgroud)

他们确实一样吗?

如果我想降低学习率,我可以使用以下代码吗?

global_step = tf.Variable(0, name="global_step", trainable=False)
starter_learning_rate = 1e-3
learning_rate = tf.train.exponential_decay(starter_learning_rate, global_step,
                                       100, FLAGS.decay_rate, staircase=True)
# Passing global_step to minimize() will increment it at each step.
learning_step = (
    optimizer = tf.train.AdamOptimizer(learning_rate)
    grads_and_vars = optimizer.compute_gradients(cnn.loss)
    train_op = optimizer.apply_gradients(grads_and_vars, global_step=global_step)
)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

tensorflow

28
推荐指数
2
解决办法
8536
查看次数

pandas DataFrame,如何将函数应用于特定列?

我已经阅读了DataFrame.apply的文档

DataFrame.apply(func,axis = 0,broadcast = False,raw = False,reduce = None,args =(),**kwds)沿DataFrame的输入轴应用函数.

那么,如何将函数应用于特定列?

In [1]: import pandas as pd
In [2]: data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
In [3]: df = pd.DataFrame(data)
In [4]: df
Out[4]: 
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9
In [5]: def addOne(v):
...:        v += 1
...:        return v
...: 
In [6]: df.apply(addOne, axis=1)
Out[6]: 
   A  B   C …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何理解sess.as_default()和sess.graph.as_default()?

我读了sess.as_default()文档

NB默认会话是当前线程的属性.如果您创建一个新线程,并希望在该线程中使用默认会话,则必须在该线程的函数中显式添加一个sess.as_default():.

我的理解是,如果在创建新线程时还有两个会话,我们必须设置一个会话来在其中运行TensorFlow代码.因此,要执行此操作,将选择一个会话并as_default()进行调用.

注意使用sess.as_default():block输入a不会影响当前的默认图形.如果使用多个图形,并且sess.graph与tf.get_default_graph的值不同,则必须使用sess.graph.as_default():block显式输入,以使sess.graph成为默认图形.

sess.as_default()块中,要调用特定图形,必须调用sess.graph.as_default()运行图形?

tensorflow

14
推荐指数
1
解决办法
9164
查看次数

如何获取Pandas DataFrame中的最大值/最小值

由于我的pandas数据帧的一列有nan值,所以当我想获得该列的最大值时,它只返回错误.

>>> df.iloc[:, 1].max()
'error:512'
Run Code Online (Sandbox Code Playgroud)

如何跳过该nan值并获取该列的最大值?

python pandas

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

如何使用tf.reset_default_graph()

每当我尝试使用时tf.reset_default_graph(),我都会收到此错误:IndexError: list index out of range或者``.我应该在哪部分代码中使用它?我什么时候应该使用它?

编辑:

我更新了代码,但错误仍然存​​在.

def evaluate():
    with tf.name_scope("loss"):
        global x # x is a tf.placeholder()
        xentropy = tf.nn.softmax_cross_entropy_with_logits(labels=y, logits=neural_network(x))
        loss = tf.reduce_mean(xentropy, name="loss")

    with tf.name_scope("train"):
        optimizer = tf.train.AdamOptimizer()
        training_op = optimizer.minimize(loss)

    with tf.name_scope("exec"):
        with tf.Session() as sess:
            for i in range(1, 2):
                sess.run(tf.global_variables_initializer())
                sess.run(training_op, feed_dict={x: np.array(train_data).reshape([-1, 1]), y: label})
                print "Training " + str(i)
                saver = tf.train.Saver()
                saver.save(sess, "saved_models/testing")
                print "Model Saved."


def predict():
    with tf.name_scope("predict"):
        tf.reset_default_graph()
        with tf.Session() as sess:
            saver …
Run Code Online (Sandbox Code Playgroud)

machine-learning tensorflow

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

如何保存训练有素的张量流模型以供以后用于应用​​?

我是一个有张量流的初学者,所以请原谅这是一个愚蠢的问题,答案是显而易见的.

我创建了一个Tensorflow图,从X和y的占位符开始,我已经优化了一些代表我的模型的张量.图的一部分是可以计算预测矢量的东西,例如线性回归

y_model = tf.add(tf.mul(X,w),d)
y_vals = sess.run(y_model,feed_dict={....})
Run Code Online (Sandbox Code Playgroud)

训练结束后,我有w和d的可接受值,现在我想保存我的模型以供日后使用.然后,在另一个python会话中,我想恢复模型,以便我可以再次运行

## Starting brand new python session
import tensorflow as tf
## somehow restor the graph and the values here: how????
## so that I can run this:
y_vals = sess.run(y_model,feed_dict={....})
Run Code Online (Sandbox Code Playgroud)

对于某些不同的数据并取回y值.

我希望这种方式能够存储和恢复用于计算占位符的y值的图形 - 只要占位符获得正确的数据,这应该在没有用户(应用程序的用户)的情况下透明地工作.模型)需要知道图形是什么样的).

据我所知tf.train.Saver().save(..)只保存变量,但我也想保存图形.我认为tf.train.export_meta_graph在这里可能是相关的,但我不明白如何正确使用它,文档对我来说有点神秘,并且示例甚至不使用export_meta_graph.

tensorflow

10
推荐指数
2
解决办法
5793
查看次数