如上所述,iam可以在google colab中运行代码,但是当我运行本地anaconda jupyter实验室相同的代码时,我会收到以下错误:
错误消息
ValueError:检查输入时出错:预期input_1具有4维,但数组的形状 (1,216,1)
下面是代码
data, sampling_rate = librosa.load('drive/My Drive/audio_ml_proj/Liza-happy-v3.wav')
ipd.Audio('drive/My Drive/audio_ml_proj/Liza-happy-v3.wav')
# loading json and model architecture
json_file = open('drive/My Drive/audio_ml_proj/model_json_aug.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
# load weights into new model
loaded_model.load_weights("drive/My Drive/audio_ml_proj/Emotion_Model_aug.h5")
print("Loaded model from disk")
# the optimiser
opt = keras.optimizers.rmsprop(lr=0.00001, decay=1e-6)
loaded_model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['accuracy'])
# Lets transform the dataset so we can apply the predictions
X, sample_rate = librosa.load('drive/My Drive/audio_ml_proj/Liza-happy-v3.wav'
,res_type='kaiser_fast'
,duration=2.5
,sr=44100
,offset=0.5
)
sample_rate = np.array(sample_rate)
mfccs = np.mean(librosa.feature.mfcc(y=X, sr=sample_rate, n_mfcc=13),axis=0)
newdf = pd.DataFrame(data=mfccs).T
newdf
# Apply predictions
newdf= np.expand_dims(newdf, axis=2)
newpred = loaded_model.predict(newdf,
batch_size=16,
verbose=1)
newpred
我刚刚在jupyter实验室中更改了文件夹的路径。
我认为这是由于我的Anaconda中存在的软件包未更新 我也将我的keras也更新到了最新版本。
任何帮助暂时都是一件好事,请帮助。
答案 0 :(得分:0)
构建深度卷积生成对抗网络(DCGAN)时遇到类似的问题。当我在Colab中运行代码时,一切正常。但是,当我在Jupyter Lab(Anaconda)中运行代码时,我收到一条错误消息,提示TensorFlow缺少get_default_graph。
我检查了TensorFlow的版本,并且都在运行2.2.0。
我在网上进行了一些挖掘,发现通过更改包裹可以发现 我可以从“ keras.layers.x”安装到“ tensorflow.keras.layers.x” 解决此错误。
它奏效了!好吧,有点。该错误不再阻止我实例化生成器网络,我可以很好地运行该单元了。但是,当我实际训练GAN并开始生成图像时,该模型输出的是静态图像,而不是可识别的图像。
在Colab中,模型输出可识别的图像(即按预期工作)。我完全感到困惑,为什么Jupyter Labs和Colab的行为如此不同,会欣赏社区的任何上下文/解释!