小编Tho*_*ale的帖子

如何加快非NVIDIA设置的深度学习?

由于我只有AMD A10-7850 APU,而且没有足够的资金用于购买价值800美元至1200美元的NVIDIA显卡,我试图通过我拥有的资源来实现,以便通过tensorflow/keras加速深度学习.

最初,我使用了Tensorflow的预编译版本.InceptionV3需要大约1000-1200秒来计算1个纪元.它一直很缓慢.

为了加快计算速度,我首先使用优化器(使用AVX和SSE4指令)自行编译Tensorflow.这导致计算时间减少约40%.上面执行的相同计算现在只需要大约600秒来计算.它几乎可以忍受 - 有点像你可以看油漆干.

我正在寻找进一步减少计算时间的方法.我只有一个集成的AMD显卡,它是APU的一部分.(如何)(C/c)我利用这个资源来进一步加速计算?

更一般地说,让我们说有其他人有类似的货币限制和英特尔设置.没有分立的NVIDIA显卡的人如何利用他们的集成显卡芯片或其他非NVIDIA设置来实现比仅CPU性能更快的速度?那可能吗?为什么/为什么不呢?要实现这一目标需要做些什么?或者这可能在不久的将来(2-6个月)?怎么样?

theano deep-learning torch caffe tensorflow

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

如何检查 Keras 的 flow_from_directory 方法处理文件夹的顺序?

在进行迁移学习时,我首先将图像输入 VGG16 网络的底层。我正在使用生成器函数。

datagen = ImageDataGenerator(1./255)
generator = datagen.flow_from_directory(
    train_data_dir,
    target_size=(img_width, img_height),
    batch_size = 32,
    class_mode=None,
    shuffle=False
)
model.predict_generator(generator, nb_train_samples)
Run Code Online (Sandbox Code Playgroud)

我将类模式设置为无,因为我只想要数据输出。我设置 shuffle = false,因为我想稍后在此处提供预测的特征,并将它们与地面真实类别变量进行匹配:

train_data = np.lead(open(file_name, 'rb'))
train_labels = np.array([0] * NUMBER_OF_ITEMS_FOR_ITEM1 +
                        [1] * NUMBER_OF_ITEMS_FOR_ITEM2 +...
                        [n-1] * NUMBER_OF_ITEMS_FOR_ITEMN
Run Code Online (Sandbox Code Playgroud)

这里的问题是我不知道文件的读取顺序。我怎样才能找到它?或者更好的是,我怎样才能避免猜测正确的顺序?我之所以这么问,是因为我几乎可以肯定,低预测精度与标签不匹配有关。

python deep-learning keras

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

对于相同类型的项目,如何在列中保留具有最大值的行?

我有下表:

Item number | crit_A | crit_B|
------------|--------|-------|
     1      |  100   |  20   |
     1      |   10   | 100   |
     1      |   50   |  50   |
     2      |   10   | 100   |
     2      |   90   |  10   |
     2      |   90   |  10   |
Run Code Online (Sandbox Code Playgroud)

我想要一个熊猫数据框操作只返回第一行和第五行。这对应于给定项目的 crit_A 为最大值的行。

Item number | crit_A | crit_B|
------------|--------|-------|
     1      |  100   |  20   |
     2      |   90   |  10   |
Run Code Online (Sandbox Code Playgroud)

注意:当 crit_A 对给定项目有多个相等的值时,我只需要返回一个项目。

以下不是我要找的:

res_82_df.groupby(['Item number']).max()
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为它会按项目编号分组但返回所有列的最大值。另请注意:我可以查找任意阈值并执行查询语句。但这种方法也不够稳健,因为我总是需要查看数据并做出价值判断。

我如何有效地完成这项工作?

注意:我的问题确实是上面链接的问题的重复。不过,这里的答案非常独特且简洁得多,并且按照我的要求执行。

python dataframe pandas

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

如何使用Pandas Python将字符串拆分为数据帧中的几列?

我知道以下问题:

1.)如何使用熊猫基于多个字符串索引拆分列? 2)如何将一列中的文本分成多行?

我想将它们分成几个新列。假设我有一个看起来像这样的数据框:

id    | string
-----------------------------
1     | astring, isa, string
2     | another, string, la
3     | 123, 232, another
Run Code Online (Sandbox Code Playgroud)

我知道使用:

df['string'].str.split(',')
Run Code Online (Sandbox Code Playgroud)

我可以分割一个字符串。但是,下一步,我想像这样有效地将拆分后的字符串放入新列中:

id    | string_1 | string_2 | string_3
-----------------|---------------------
1     | astring  | isa      | string
2     | another  | string   | la
3     | 123      | 232      | another
---------------------------------------
Run Code Online (Sandbox Code Playgroud)

我可以例如这样做:

for index, row in df.iterrows():
    i = 0
    for item in row['string'].split():
        df.set_values(index, 'string_{0}'.format(i), item)
        i = i + 1
Run Code Online (Sandbox Code Playgroud)

但是,如何才能更优雅地达到相同的结果呢?

python pandas

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

标签 统计

python ×3

deep-learning ×2

pandas ×2

caffe ×1

dataframe ×1

keras ×1

tensorflow ×1

theano ×1

torch ×1