小编bla*_*bug的帖子

CNN给出了有偏见的结果

我在CNN上使用二进制分类器.我有两个类别"我"和"其他".我有大约250张自己的图像和500张其他图像(随机面部数据库).我目前的图层实现非常简单

    self.model.add(Conv2D(128, (2, 2), padding='same', 
    input_shape=dataset.X_train.shape[1:]))
    self.model.add(Activation('relu'))
    self.model.add(MaxPooling2D(pool_size=(2, 2)))
    self.model.add(Dropout(0.25))

    self.model.add(Conv2D(64, (2, 2), padding='same'))
    self.model.add(Activation('relu'))
    self.model.add(MaxPooling2D(pool_size=(2, 2)))
    self.model.add(Dropout(0.25))

    self.model.add(Conv2D(32, (1, 1), padding='same'))
    self.model.add(Activation('relu'))
    self.model.add(MaxPooling2D(pool_size=(2, 2)))
    self.model.add(Dropout(0.5))
    self.model.add(Dense(512))
    self.model.add(Activation('relu'))
    self.model.add(Dropout(0.25))
    self.model.add(Dense(2)) # for two classes
    self.model.add(Activation('softmax'))
Run Code Online (Sandbox Code Playgroud)

我的网络达到了93%的准确率 在此输入图像描述

在此输入图像描述 我的问题是,当我使用这个网络预测面孔时,它总是将任何面部识别为我的面孔.我已经裁剪了面部,应用了gabor过滤器,但没有任何作用.任何建议将不胜感激.

随机面的预测结果:[KK代表我的脸]概率总是超过97%:

KK identified!
1/1 [==============================] - 0s
[[ 0.9741978  0.0258022]]
1/1 [==============================] - 0s

KK identified!
1/1 [==============================] - 0s
[[ 0.9897241   0.01027592]]
1/1 [==============================] - 0s
Run Code Online (Sandbox Code Playgroud)

我的图像预测结果:[KK代表我的脸]概率总是超过99%:

KK identified!
1/1 [==============================] - 0s
[[ 0.99639165  0.00360837]]
1/1 [==============================] - 0s
KK identified! …
Run Code Online (Sandbox Code Playgroud)

python convolution deep-learning keras

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

截断浮点数的十进制数字numpy数组

我想截断numpy数组中的float值,例如。

2.34341232 --> 2.34 
Run Code Online (Sandbox Code Playgroud)

我阅读了截断浮点后的内容,但其中有一个浮点。我不想在numpy数组上运行循环,这将非常昂贵。numpy中是否有任何内置方法可以轻松做到这一点?我确实需要将输出作为浮点数而不是字符串。

python numpy vectorization

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

将numpy数组转储到excel文件中

我试图使用savetxt方法将numpy数组转储到excel文件中,但我在控制台上遇到这个奇怪的错误:

.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e,%.18e')

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

这是我要转储的numpy数组的细节:

[[[ 0.47185326  0.07954808  0.02773202 ...,  0.05631305  0.08299649
    0.03780528]
  [ 0.62651747  0.06029205  0.01570348 ...,  0.03766847  0.06287122
    0.02287979]
  [ 0.72675145  0.04626036  0.0107195  ...,  0.02535284  0.04664176
    0.01519825]
  ..., 
  [ 0.10476404  0.57678992  0.04675674 ...,  0.02255989  0.06741234
    0.0170289 ]
  [ 0.13148287  0.47490281  0.06038339 ...,  0.03263607  0.07844847
    0.02505469]
  [ 0.14134221  0.35699606  0.07600202 ...,  0.04766588  0.09139989
    0.0386818 ]]]

Type of first_layer_output : <class 'numpy.ndarray'>
Shape of first_layer_output : (1, 921600, 10)
Run Code Online (Sandbox Code Playgroud)

我这样使用savetxt:

np.savetxt('test.csv', first_layer_output, delimiter=',')
Run Code Online (Sandbox Code Playgroud)

我不确定这里有什么问题,因此任何帮助将不胜感激:)

python arrays excel numpy

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

python 中的位移位

我想理解下面的代码。第三条线正在做什么转变?

number = 1.265
bits = 8
shifted_no = 1.265 * (2** bits)
Run Code Online (Sandbox Code Playgroud)

如果我检查 number 和shifted_no 结果的二进制格式:

0011 1111 1010 0001 1110 1011 1000 0101
0100 0001 0010 0001 1110 1011 1000 0101
Run Code Online (Sandbox Code Playgroud)

谢谢。

python bit-manipulation byte-shifting

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

比较两个不同大小的 numpy 数组的最佳方法

我有 2numpy array个不同尺寸的。理论上,一个将是另一个的子集。我想在较大的索引中找到numpy array其值与较小的子集匹配的索引。

例如

A = [ 7.52   8.32  16.96  20.05 -24.96 -42.69 -47.47  55.04 -57.62   2.03
  61.94  64.41 -71.3   93.6  151.65 151.75  -0.43  -3.18   4.59  -5.55
   6.44  -9.48   9.31   0.67 -14.34  -8.09  16.23  17.69  19.46  23.52
 -52.59]

B = [61.94 16.23 19.46 -5.55 -0.43 93.6]
Run Code Online (Sandbox Code Playgroud)

2 个for循环将执行此操作,但我想知道是否有 Python 方法可以更快地执行此操作。

我尝试了一个循环,但它不起作用(我怀疑numpy.where它不适用于不同大小的数组)

A = [ 7.52   8.32  16.96  20.05 -24.96 -42.69 -47.47  55.04 -57.62   2.03
  61.94  64.41 -71.3   93.6  151.65 151.75  -0.43 …
Run Code Online (Sandbox Code Playgroud)

python numpy

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

使用地址运算符在 ac 函数中传递数组会发出警告

我试图将数组传递给方法。我尝试了以下方法:

\n
    \n
  1. func2(ARRAY_NAME, length) => 有效,无警告
  2. \n
  3. func2(&ARRAY_NAME[0], length) => 有效,无警告
  4. \n
  5. func2(&ARRAY_NAME, length) => 有效,但有警告
  6. \n
\n

我不明白为什么最后一个(#3)发出警告。&ARRAY_NAME 在 memset、memcpy 等中工作时没有警告。为什么它在自定义方法中存在问题?

\n

警告信息:

\n
functionTest.c:35:11: warning: passing argument 1 of \xe2\x80\x98func2\xe2\x80\x99 from incompatible pointer type [-Wincompatible-pointer-types]\n   35 |     func2(&temp, ARRAY_SIZE);\n      |           ^~~~~\n      |           |\n      |           unsigned char (*)[200]\nfunctionTest.c:8:27: note: expected \xe2\x80\x98unsigned char *\xe2\x80\x99 but argument is of type \xe2\x80\x98unsigned char (*)[200]\xe2\x80\x99\n    8 | void func2(unsigned char* buf, int length)\n
Run Code Online (Sandbox Code Playgroud)\n

代码

\n
#include <stdio.h>\n#include <stdint.h>\n#include <string.h>\n\n\n#define ARRAY_SIZE 200\n\nvoid …
Run Code Online (Sandbox Code Playgroud)

c arrays pointers gcc-warning implicit-conversion

0
推荐指数
1
解决办法
223
查看次数