小编cha*_*255的帖子

Ubuntu,如何为python3安装OpenCV?

我想在ubuntu 16.04中为python3安装OpenCV.拳头我尝试运行sudo apt-get install python3-opencv,这是我几乎安装我的所有python软件.这找不到存储库.安装确实有效,但是如果我这样做的sudo apt-get install python-opencv问题是,不添加三个python它安装python 2,我不使用.我真的不需要从源代码构建和安装,所以有没有办法获得存储库?我也尝试用pip3安装它,它也找不到它.

python ubuntu opencv

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

Tensorflow,在RNN中保存状态的最佳方法?

我目前在tensorflow中有一系列链接在一​​起的RNN的代码.我没有使用MultiRNN,因为我以后会对每一层的输出做一些事情.

 for r in range(RNNS):
    with tf.variable_scope('recurent_%d' % r) as scope:
        state = [tf.zeros((BATCH_SIZE, sz)) for sz in rnn_func.state_size]
        time_outputs = [None] * TIME_STEPS

        for t in range(TIME_STEPS):
            rnn_input = getTimeStep(rnn_outputs[r - 1], t)
            time_outputs[t], state = rnn_func(rnn_input, state)
            time_outputs[t] = tf.reshape(time_outputs[t], (-1, 1, RNN_SIZE))
            scope.reuse_variables()
        rnn_outputs[r] = tf.concat(1, time_outputs)
Run Code Online (Sandbox Code Playgroud)

目前我有固定的时间步数.但是我想把它改成只有一个时间步,但要记住批次之间的状态.因此,我需要为每个图层创建一个状态变量,并为每个图层指定最终状态.像这样的东西.

for r in range(RNNS):
    with tf.variable_scope('recurent_%d' % r) as scope:
        saved_state = tf.get_variable('saved_state', ...)
        rnn_outputs[r], state = rnn_func(rnn_outputs[r - 1], saved_state)
        saved_state = tf.assign(saved_state, state)
Run Code Online (Sandbox Code Playgroud)

然后,对于每个层,我需要在sess.run函数中评估已保存的状态以及调用我的训练函数.我需要为每个rnn层执行此操作.这看起来很麻烦.我需要跟踪每个保存的状态并在运行中对其进行评估.此外,运行将需要将状态从我的GPU复制到主机内存,这将是低效且不必要的.有没有更好的方法呢?

python tensorflow

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

尽管新元贬值,但Keras的学习率并未改变

出于某种原因,虽然我设置了衰减因子,但我的学习率似乎并没有改变.我添加了一个回调来查看学习率,并且在每个时代之后它似乎是相同的.为什么不改变

class LearningRatePrinter(Callback):
    def init(self):
        super(LearningRatePrinter, self).init()

    def on_epoch_begin(self, epoch, logs={}):
        print('lr:', self.model.optimizer.lr.get_value())

lr_printer = LearningRatePrinter()

model = Sequential()
model.add(Flatten(input_shape = (28, 28)))
model.add(Dense(200, activation = 'tanh'))
model.add(Dropout(0.5))
model.add(Dense(20, activation = 'tanh'))
model.add(Dense(10, activation = 'softmax'))

print('Compiling Model')
sgd = SGD(lr = 0.01, decay = 0.1, momentum = 0.9, nesterov = True)
model.compile(loss = 'categorical_crossentropy', optimizer = sgd)
print('Fitting Data')
model.fit(x_train, y_train, batch_size = 128, nb_epoch = 400, validation_data = (x_test, y_test), callbacks = [lr_printer])


lr: 0.009999999776482582
Epoch 24/400
60000/60000 …
Run Code Online (Sandbox Code Playgroud)

python neural-network keras

13
推荐指数
1
解决办法
3561
查看次数

为什么我在GCC 5和cilk-plus中遇到此编译错误?

由于某种原因,cilk_spawn不适用于x86内在函数.每当我尝试将两者组合在同一函数的主体中时,我都会收到错误.(注意cilk_for工作正常).如果我删除所有SIMD指令,它编译并运行正常.

#include <stdio.h>
#include <x86intrin.h>
#include <math.h>
#include <cilk/cilk.h>

int main()
{
    int w = cilk_spawn sqrt(10);
    __m128i x = _mm_set_epi64x(1, 1);
    x = _mm_add_epi64(x, x);
    cilk_sync;
    printf("%d\n", w);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是gcc输出:

gcc-4.9 -std=c99 -march=native -fcilkplus -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"
In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/xmmintrin.h:1258:0,
                 from /usr/lib/gcc/x86_64-linux-gnu/4.9/include/x86intrin.h:31,
                 from ../main.c:2:
../main.c: In function ‘main’:
/usr/lib/gcc/x86_64-linux-gnu/4.9/include/emmintrin.h:581:1: error: inlining failed in call to always_inline ‘_mm_set_epi64x’: function not inlinable
 _mm_set_epi64x (long long __q1, long long …
Run Code Online (Sandbox Code Playgroud)

c gcc simd cilk-plus

12
推荐指数
1
解决办法
1054
查看次数

Scipy旋转和缩放图像而不改变其尺寸

对于我的神经网络,我想通过向我的图像添加小的随机旋转和缩放来增加我的训练数据.我遇到的问题是scipy在应用旋转和缩放时会改变图像的大小.如果图像的一部分超出边界,我需要剪切边缘.我的所有图像都必须大小相同.

def loadImageData(img, distort = False):
    c, fn = img
    img = scipy.ndimage.imread(fn, True)

    if distort:
        img = scipy.ndimage.zoom(img, 1 + 0.05 * rnd(), mode = 'constant')
        img = scipy.ndimage.rotate(img, 10 * rnd(), mode = 'constant')
        print(img.shape)

    img = img - np.min(img)
    img = img / np.max(img)
    img = np.reshape(img, (1, *img.shape))

    y = np.zeros(ncats)
    y[c] = 1
    return (img, y)
Run Code Online (Sandbox Code Playgroud)

python numpy image scipy

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

Numpy转换角度范围从(-Pi,Pi)到(0,2*Pi)

这似乎很直接,但我似乎无法弄清楚如何将-Pi和Pi之间的角度映射到0到2Pi的范围.我尝试使用np.select,但由于某种原因它冻结了我的程序.我需要这个范围内的角度,因为它们将被用作不能输出负数的神经网络的训练数据.

audio = wav.read('/home/chase/Desktop/ge.wav')[1].astype(np.float32)
audio = np.mean(audio, 1)
audio /= np.max(np.abs(audio))
audio = np.array([np.fft.rfft(audio[i:i + FRAME_SIZE]) for i in range(0, len(audio) - len(audio) % FRAME_SIZE, FRAME_SIZE)])
audio /= FRAME_SIZE
audio_mag = np.abs(audio)
audio_phase = np.angle(audio)

#this line freezes the program
audio_phase = np.select(audio_phase < 0 , 2 * np.pi + audio_phase, audio_phase)
Run Code Online (Sandbox Code Playgroud)

我需要音频

python numpy

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

如何改变Keras中softmax输出的温度

我目前正在尝试重现以下文章的结果.
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
我正在使用Keras和theano后端.在文章中,他谈到控制最终softmax层的温度以提供不同的输出.

温度.我们还可以在采样过程中使用Softmax的温度.将温度从1降低到更低的数值(例如0.5)使RNN更自信,但样品中也更保守.相反,较高的温度将带来更多的多样性,但代价是更多的错误(例如拼写错误等).特别是,设定温度非常接近零将是保罗格雷厄姆可能会说的最可能的事情:

我的模型如下.

model = Sequential()
model.add(LSTM(128, batch_input_shape = (batch_size, 1, 256), stateful = True, return_sequences = True))
model.add(LSTM(128, stateful = True))
model.add(Dropout(0.1))
model.add(Dense(256, activation = 'softmax'))

model.compile(optimizer = Adam(),
              loss = 'categorical_crossentropy', 
              metrics = ['accuracy'])
Run Code Online (Sandbox Code Playgroud)

我能想到调整最终密集层温度的唯一方法是得到权重矩阵并将其乘以温度.有谁知道更好的方法吗?此外,如果有人看到我如何设置模型有任何错误,请告诉我,因为我是RNN新手.

python neural-network theano keras softmax

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

如何使用Keras摆脱tensorflow详细消息

我正在尝试张量流Keras后端.它不断向终端打印这些过于冗长的消息,这会破坏探测记录器的输出.如下.

h 1/200
   4608/3629568 [..............................] - ETA: 849s - loss: 1.1816I tensorflow/core/common_runtime/gpu/pool_allocator.cc:244] PoolAllocator: After 4208 get requests, put_count=4193 evicted_count=1000 eviction_rate=0.238493 and unsatisfied allocation rate=0.264971
I tensorflow/core/common_runtime/gpu/pool_allocator.cc:256] Raising pool_size_limit_ from 100 to 110
Run Code Online (Sandbox Code Playgroud)

我该如何制作张量流量呢?我一直在浏览文档,我找不到类似.theanorc文件的设置.

python keras tensorflow

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

Keras卷积层与颜色通道有什么关系?

Bellow是Keras文档中的一段示例代码.看起来第一个卷积接受具有3个颜色通道的256x256图像.它有64个输出过滤器(我认为这些与我在其他地方读过的功能图相同,有人可以为我确认这个).令我困惑的是输出大小是(None,64,256,256).我希望它是(无,64*3,256,256),因为它需要为每个颜色通道进行卷积.我想知道的是Keras如何处理颜色通道.在通过卷积之前,这些值是否一起平均(转换为灰度)?

   # apply a 3x3 convolution with 64 output filters on a 256x256 image:
model = Sequential()
model.add(Convolution2D(64, 3, 3, border_mode='same', input_shape=(3, 256, 256)))
# now model.output_shape == (None, 64, 256, 256)

# add a 3x3 convolution on top, with 32 output filters:
model.add(Convolution2D(32, 3, 3, border_mode='same'))
# now model.output_shape == (None, 32, 256, 256)
Run Code Online (Sandbox Code Playgroud)

python image neural-network theano keras

9
推荐指数
1
解决办法
2328
查看次数

Android模拟器,手掌遮盖的屏幕

我试图从eclipse启动android模拟器.我选择了Nexus7作为我的设备.一切似乎都很好.然后手机就像是一个新装置一样完成了这些步骤,并要求我用手掌盖住屏幕以使屏幕变暗.我怎么用手掌模拟覆盖屏幕,因为我无法通过这一步?

我刚刚用android包下载了eclipse,所以我有最新版本的一切.

eclipse android android-emulator

8
推荐指数
1
解决办法
625
查看次数