小编Ars*_*tic的帖子

如何在TensorFlow中应用渐变剪裁?

考虑示例代码.

我想知道如何在可能爆炸梯度的RNN上对此网络应用渐变剪辑.

tf.clip_by_value(t, clip_value_min, clip_value_max, name=None)
Run Code Online (Sandbox Code Playgroud)

这是一个可以使用的示例,但我在哪里介绍这个?在defN的RNN

    lstm_cell = rnn_cell.BasicLSTMCell(n_hidden, forget_bias=1.0)
    # Split data because rnn cell needs a list of inputs for the RNN inner loop
    _X = tf.split(0, n_steps, _X) # n_steps
tf.clip_by_value(_X, -1, 1, name=None)
Run Code Online (Sandbox Code Playgroud)

但是这没有意义,因为张量_X是输入而不是渐变的被剪裁的东西?

我是否必须为此定义自己的优化器,还是有更简单的选项?

python machine-learning deep-learning lstm tensorflow

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

将opencv图像格式转换为PIL图像格式?

我想转换加载的图像

TestPicture = cv2.imread("flowers.jpg")
Run Code Online (Sandbox Code Playgroud)

我想在示例https://wellfire.co/learn/python-image-enhancements上运行PIL过滤器(http://pillow.readthedocs.io/en/4.0.x/reference/ImageFilter.html)/与变量

TestPicture
Run Code Online (Sandbox Code Playgroud)

但是我无法将其转换回来并且在这些类型之间排在第四位.

有没有办法做这个转换?

opencv可以执行PIL包中的所有图像过滤器吗?

python opencv image-processing type-conversion python-imaging-library

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

如何计算LSTM网络的参数数量?

有没有办法计算LSTM网络中的参数总数.

我找到了一个例子,但我不确定是多么正确或者我是否理解正确.

例如,考虑以下示例: -

from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.layers import Embedding
from keras.layers import LSTM
model = Sequential()
model.add(LSTM(256, input_dim=4096, input_length=16))
model.summary()
Run Code Online (Sandbox Code Playgroud)

产量

____________________________________________________________________________________________________
Layer (type)                       Output Shape        Param #     Connected to                     
====================================================================================================
lstm_1 (LSTM)                      (None, 256)         4457472     lstm_input_1[0][0]               
====================================================================================================
Total params: 4457472
____________________________________________________________________________________________________
Run Code Online (Sandbox Code Playgroud)

根据我的理解n是输入向量长度.并且m是时间步数.在这个例子中,他们认为隐藏层的数量为1.

因此根据帖子中 的公式.4(nm+n^2)在我的例子中m=16; n=4096;num_of_units=256

4*((4096*16)+(4096*4096))*256 = 17246978048
Run Code Online (Sandbox Code Playgroud)

为什么会有这样的差异?我误解了这个例子还是公式错了?

machine-learning neural-network deep-learning lstm keras

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

使用步长python列出一个列表项?

给出一个输入列表

 l = [1 2 3 4 5 6 7 8 9 10]
Run Code Online (Sandbox Code Playgroud)

和组大小grp和步骤

grp = 3; step = 2
Run Code Online (Sandbox Code Playgroud)

我想返回一份清单.注意最后的重复

1 2 3
3 4 5
5 6 7
7 8 9
9 10 1
Run Code Online (Sandbox Code Playgroud)

或者如果

grp= 4; step = 2
Run Code Online (Sandbox Code Playgroud)

输出应该是

1 2 3 4
3 4 5 6
5 6 7 8
7 8 9 10
Run Code Online (Sandbox Code Playgroud)

这是我提出的代码,它没有做循环的事情.但是想知道是否有更小或更简单的解决方案

def grouplist(l,grp,step):
    oplist = list()
    for x in range(0,len(l)):
        if (x+grp<len(l)):
        oplist.append(str(l[x:x+grp]))
    return oplist
Run Code Online (Sandbox Code Playgroud)

python iterator list

6
推荐指数
1
解决办法
825
查看次数

如何将数据附加到现有的LMDB?

我有大约100万张图像放在这个数据集10000中,一次附加到集合中.

我确定map_size与本文的参考文献有关

使用此行创建集合

env = lmdb.open(Path+'mylmdb', map_size=int(1e12)
Run Code Online (Sandbox Code Playgroud)

每10000个样本使用此行将数据写入文件,其中X和Y是要放入LMDB的数据的占位符.

env = create(env, X[:counter,:,:,:],Y,counter)


def create(env, X,Y,N):
    with env.begin(write=True) as txn:
        # txn is a Transaction object
        for i in range(N):
            datum = caffe.proto.caffe_pb2.Datum()
            datum.channels = X.shape[1]
            datum.height = X.shape[2]
            datum.width = X.shape[3]
            datum.data = X[i].tostring()  # or .tostring() if numpy < 1.9
            datum.label = int(Y[i])
            str_id = '{:08}'.format(i)

            # The encode is only essential in Python 3
            txn.put(str_id.encode('ascii'), datum.SerializeToString())
        #pdb.set_trace()
    return env
Run Code Online (Sandbox Code Playgroud)

如何编辑此代码,以便将新数据添加到此LMDB而不替换,因为此方法将其替换为相同位置.我用env.stat()检查了生成后的长度.

python machine-learning lmdb caffe pycaffe

6
推荐指数
1
解决办法
2872
查看次数

如何理解张量流量张量板直方图?

我想知道如何理解张量流图/生成的直方图.可在此处找到代码. 此图表易于理解准确性和损失是直接理解的.

Accuracy- Accuracy of current state of network for given train data.
Higher is better

Accuracy/Validation -  Accuracy of current state of network for given Validation data which is 
not seen by network before. Higher is better

Loss- Loss of network on train data. Lower is better.
Loss/Valadation - Loss of network on test data. Lower is better.
If loss increases it's a sign of over-fitting.
Conv2d/L2-Loss - Loss of particular layer wrt train …
Run Code Online (Sandbox Code Playgroud)

machine-learning theano deep-learning caffe tensorflow

6
推荐指数
1
解决办法
968
查看次数

如果函数耗时太长,跳过循环?

我的 Python 代码花费的时间太长,如果花费的时间超过几秒钟,我想停止并跳过此函数的执行。

比如我要计时的函数是:

batch_xs, batch_ys = train_loadbatch_from_lists(batch_size)
Run Code Online (Sandbox Code Playgroud)

在某些情况下,这个函数调用花费的时间太长,我想取消它。

我正在寻找这样的东西:

if time for batch_xs, batch_ys = train_loadbatch_from_lists(batch_size) > 20 seconds:
    then skip
Run Code Online (Sandbox Code Playgroud)

参考这篇文章

我想知道如果发生超时,我将如何再次调用该函数。

例如

@timeout(15)
def abcd(hello):
#some def 
Run Code Online (Sandbox Code Playgroud)

如果它超过计时器,我想再次调用该函数。

python numpy

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

Facebook webhook多次调用同一条消息?

我使用Python和无服务器在AWS上制作并回显了bot.

我一次又一次地得到同样的要求.我读了faq,它说你必须提供一个状态代码200,否则它将继续重试webhook.

我不确定我是怎么做到的.

我注意到呼叫的序列号总是相同的,所以我假设我发送的回复没有被确认.我的代码在这里

import os
import json
import requests
import random
from datetime import datetime
######################
# helper functions
######################
##recursively look/return for an item in dict given key
def find_item(obj, key):
    item = None
    if key in obj: return obj[key]
    for k, v in obj.items():
        if isinstance(v,dict):
            item = find_item(v, key)
            if item is not None:
                return item

##recursivley check for items in a dict given key
def keys_exist(obj, keys):
    for key in keys:
        if find_item(obj, key) is …
Run Code Online (Sandbox Code Playgroud)

python facebook http chatbot python-requests

6
推荐指数
1
解决办法
1620
查看次数

分别将txt文件分成N行吗?

我想将一个非常大的.txt文件拆分成相等的文件,每个文件包含N行。并将其保存到文件夹

with open('eg.txt', 'r') as T:
    while True:
        next_n_lines = islice(T, 300)
        f = open("split" + str(x.pop()) + ".txt", "w")
        f.write(str(next_n_lines))
        f.close()
Run Code Online (Sandbox Code Playgroud)

但这会创建一个包含数据的文件

" < itertools.islice object at 0x7f8fa94a4940 >" 
Run Code Online (Sandbox Code Playgroud)

txt文件中。

我想保留原始txt文件中保留的相同结构和样式。

并且此代码到达文件末尾时也不会自动终止。如果可能的话,我将使代码停止写入文件,如果没有剩余数据要写入,则退出。

python text iterator lines

3
推荐指数
1
解决办法
1551
查看次数

如何使用完整LSTM序列的输出?tensorflow

我可能在这里错了但是在这里.我正在使用这篇文章中的代码.

特别是代码

    outputs, states = rnn.rnn(lstm_cell, _X, initial_state=_istate)

    # Linear activation
    # Get inner loop last output
    return tf.matmul(outputs[-1], _weights['out']) + _biases['out']
Run Code Online (Sandbox Code Playgroud)

上面的代码使用多对一预测方案.

在此输入图像描述

我想知道我是否可以使用这个代码的多对多方案.并使用所有LSTM单元的输出来预测该类.我试过替换最后一行

return tf.matmul(outputs, _weights['out']) + _biases['out']
Run Code Online (Sandbox Code Playgroud)

但后来我收到了一个错误

  File "/media/anilil/Data/charm/Cnn/train_lstm_ucf.py", line 165, in <module>
    pred = RNN(x, istate, weights, biases,keep_prob)
  File "/media/anilil/Data/charm/Cnn/train_lstm_ucf.py", line 163, in RNN
    return tf.matmul(outputs, _weights['out']) + _biases['out']
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/math_ops.py", line 938, in matmul
    a = ops.convert_to_tensor(a, name="a")
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 529, in convert_to_tensor
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/constant_op.py", line …
Run Code Online (Sandbox Code Playgroud)

python machine-learning deep-learning tensorflow

3
推荐指数
1
解决办法
2699
查看次数