相关疑难解决方法(0)

在使用Keras进行的深度学习中如何利用多处理和多线程的优势?

我假设像keras / tensorflow / ...这样的大多数框架会自动使用所有CPU内核,但实际上它们似乎并没有。我只是发现很少的资源可以导致我们在深度学习过程中使用CPU的全部容量。我找到了一篇有关

from multiprocessing import Pool 
import psutil
import ray 
Run Code Online (Sandbox Code Playgroud)

另一方面,基于在多个过程中使用keras模型的答案,没有上述库的踪迹。是否有更优雅的方式利用Keras 的多处理功能,因为它在实施中非常受欢迎。

  • 例如,如何通过简单的RNN实现进行修改,以在学习过程中实现至少50%的CPU容量?

  • 我应该使用第二模型作为多任务处理(如LSTM)吗?我的意思是我们可以使用更多的CPU来同时管理运行多个模型吗?

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

from keras.layers.normalization import BatchNormalization
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from keras.layers import Dense
from keras.layers import Dropout
from keras.layers import LSTM,SimpleRNN
from keras.models import Sequential
from keras.optimizers import Adam, RMSprop

df = pd.read_csv("D:\Train.csv", header=None) …
Run Code Online (Sandbox Code Playgroud)

python multithreading multiprocessing deep-learning keras

7
推荐指数
1
解决办法
783
查看次数

例外:检查模型目标时出错:期望dense_3具有形状(无,1000)但是具有形状的数组(32,2)

如何为数据创建VGG-16序列?

数据如下:

model = Sequential() 
model.add(ZeroPadding2D((1, 1), input_shape=(3, img_width, img_height))) model.add(Convolution2D(64, 3, 3, activation='relu', name='conv1_1')) model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(64, 3, 3, activation='relu', name='conv1_2'))
model.add(MaxPooling2D((2, 2), strides=(2, 2)))

model.add(ZeroPadding2D((1, 1))) 
model.add(Convolution2D(128, 3, 3, activation='relu', name='conv2_1')) model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(128, 3, 3, activation='relu', name='conv2_2'))
model.add(MaxPooling2D((2, 2), strides=(2, 2)))

model.add(ZeroPadding2D((1, 1))) 
model.add(Convolution2D(256, 3, 3, activation='relu', name='conv3_1')) model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(256, 3, 3, activation='relu', name='conv3_2'))
model.add(ZeroPadding2D((1, 1))) 
model.add(Convolution2D(256, 3, 3, activation='relu', name='conv3_3')) model.add(MaxPooling2D((2, 2), strides=(2, 2)))

model.add(ZeroPadding2D((1, 1))) 
model.add(Convolution2D(512, 3, 3, activation='relu', name='conv4_1')) model.add(ZeroPadding2D((1, 1)))
model.add(Convolution2D(512, 3, …
Run Code Online (Sandbox Code Playgroud)

keras

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