我在使用keras multi_gpu_model时遇到了这个错误。如果我删除了这一行,代码就会被罚款。此外,对于CNN模型,它的工作罚款,这只是因为密集的网络,它给出了错误。你能帮我解决这个问题吗?谢谢。
import numpy as np
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers import LSTM, BatchNormalization,Flatten
from keras.utils.vis_utils import model_to_dot
from keras.optimizers import adam
from keras.models import load_model
import pylab
from sklearn.model_selection import train_test_split
from keras.utils import multi_gpu_model
from scipy.io import wavfile
X=np.ones(10000)
y=np.zeros(100)
x_train=X
y_train=y
x_train=np.array(x_train)
y_train=np.array(y_train)
x_train.shape=(1,10000)
y_train.shape=(1,100)
model = Sequential()
model.add(Dense(500,activation = 'tanh'))
model.add(Dense(450, activation = 'tanh'))
model.add(Dense(412, activation = 'tanh'))
model.add(Dense(100, activation = 'tanh'))
opt = adam(lr=0.002, decay=1e-6)
model = multi_gpu_model(model, gpus=4)
model.compile(loss='mae', optimizer=opt, metrics=['accuracy'])
model.fit(x_train,y_train,epochs=50, batch_size = 40000)Error: Traceback (most recent call last):
File "p.py", line 37, in <module>
model = multi_gpu_model(model, gpus=4)
File "/home/ENG/benipas1/anaconda3/envs/new/lib/python3.7/site-packages/keras/utils/multi_gpu_utils.py", line 203, in multi_gpu_model
for i in range(len(model.outputs)):
TypeError: object of type 'NoneType' has no len()发布于 2019-06-13 21:36:17
问题出在这里:
model = Sequential()
model.add(Dense(500,activation = 'tanh'))您没有为第一层提供输入形状,因此模型的输出是完全未定义的,并且model.outputs为None。如果你给第一层提供了输入形状,那么输出就被定义好了,它应该工作得很好。您可能正在为您的CNN模型提供输入形状,这就是它工作的原因:
model.add(Dense(500,activation = 'tanh', input_shape=(something,)))https://stackoverflow.com/questions/56581428
复制相似问题