WinError193 %1 不是有效的 Win32 应用程序

Posted

技术标签:

【中文标题】WinError193 %1 不是有效的 Win32 应用程序【英文标题】:WinError193 %1 is not a valid Win32 application 【发布时间】:2021-12-24 06:11:18 【问题描述】:

对于 AI 项目,我必须将 tensorflow 与 anaconda 和 spyder 一起使用。但是,自去年以来,我在使用 PC 启动 Anaconda 时遇到了问题。我还没有设法纠正那个错误,因为我不必使用 Anaconda,但现在我必须这样做。

我首先在 anaconda 提示符下使用conda create -n tf2gpu tensorflow-gpu jupyter matplotlib pillow spyder 创建一个环境,然后使用conda activate tf2-gpu 激活该环境,然后使用spyder 通过终端打开spyder。 (注意:我有一个合适的 GPU)。

这是我要运行的代码:

# -*- coding: utf-8 -*-

from tensorflow.keras.datasets import mnist #datasets
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Activation
from tensorflow.keras.optimizers import SGD
from tensorflow.keras.utils import to_categorical
import matplotlib.pyplot as plt
import numpy as np


(tr_imgs,tr_labs),(tst_imgs,tst_labs)=mnist.load_data()
#loading data

print("Training references :",tr_imgs.shape,tr_labs.shape,tr_imgs.dtype,tr_labs.dtype)
#60,000 images of 28 by 28 size with 60,000 labels, both integer 8 bits signed

print("Testing references :",tst_imgs.shape,tst_labs.shape,tst_imgs.dtype,tst_labs.dtype)
#10,000 images of 28 by 28 size with 10,000 labels, both integer 8 bits signed

print("__________________\n")


tr_vec=np.reshape(tr_imgs,(len(tr_imgs),-1)).astype("float32")/255.0
tst_vec=np.reshape(tst_imgs,(len(tst_imgs),-1)).astype("float32")/255.0


cat_trlabs=to_categorical(tr_labs)
cat_tstlabs=to_categorical(tst_labs)


model=Sequential([Dense(251,input_shape=(784,)),Activation("sigmoid"),Dense(128),Activation("sigmoid"),Dense(10),Activation("sigmoid")])

sgd=SGD(learning_rate=0.15,momentum=0.9,decay=0.0,nesterov=False)

model.compile(loss="mse",optimizer=sgd,metrics=["accuracy"])

history=model.fit(tr_vec,cat_trlabs,epochs=100,batch_size=200,validation_split=0.1,verbose=2)

model_history=history.history

prediction=model.predict(tst_vec)

model_loss=model_history["loss"]
model_acc=model_history["accuracy"]
model_valloss=model_history["val_loss"]
model_valaccuracy=model_history["val_accuracy"]

epochs=range(len(model_acc))


plt.plot(epochs,model_valaccuracy,label="Val_accuracy")
plt.plot(epochs,model_acc,label="Accuracy")
plt.show()

然后出现该错误: [WinError193]%1 is not a valid Win32 application

我有一个 64 位的 Windows 10,anaconda 也是 64 位的。

提前谢谢,我两天前就卡住了。

编辑 1:tenserflow.keras 库似乎有问题

【问题讨论】:

【参考方案1】:

我可能有一个解决方案。我过去也遇到过同样的问题...然后我发现这里涉及到两个python环境。我只需要删除其中一个(与 Anaconda 无关的那个)。我希望这个答案会对你有所帮助。 祝你的项目好运,人工智能很有趣:)

【讨论】:

谢谢!!成功了!!

以上是关于WinError193 %1 不是有效的 Win32 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 Jupyter Notebook pandas 错误(OSError:[WinError 193] %1 不是有效的 Win32 应用程序)

为啥 CreateProcess 给出错误 193(%1 不是有效的 Win32 应用程序)

python-magic WindowsError: [错误 193] %1 不是有效的 Win32 应用程序

DBeaver执行sql脚本报错:CreateProcess error=193, %1 不是有效的 Win32 应用程序。

DBeaver执行sql脚本报错:CreateProcess error=193, %1 不是有效的 Win32 应用程序。

CreateProcess失败;代码193.%/不是有效的win32应用程序