FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/AikV/Desktop/德国帕德博恩轴承数据集/K001N09_M07_F10_K001_1.mat'
时间: 2023-11-21 10:31:46 浏览: 153
Laravel执行migrate命令提示:No such file or directory的解决方法
这个错误提示是文件路径错误导致的,很可能是文件路径写错了或者文件不存在。请检查一下文件路径是否正确,或者尝试使用绝对路径来读取文件。这里提供一种使用绝对路径的方法,在读取数据时使用os模块来获取当前工作目录,然后再拼接文件路径:
```python
import os
import numpy as np
import scipy.io as sio
import tensorflow as tf
from tensorflow.keras import layers
# 获取当前工作目录
cwd = os.getcwd()
# 读取数据集
data = sio.loadmat(os.path.join(cwd, '德国帕德博恩轴承数据集', 'K001N09_M07_F10_K001_1.mat'))
X = data['X']
y = data['y']
# 将数据转换为一维数组
X = X.reshape(X.shape[0], X.shape[1])
# 将数据转换为三维张量
X = np.expand_dims(X, axis=2)
# 构建模型
model = tf.keras.Sequential([
layers.Conv1D(32, 3, activation='relu', input_shape=(X.shape[1], 1)),
layers.MaxPooling1D(2),
layers.Conv1D(64, 3, activation='relu'),
layers.MaxPooling1D(2),
layers.Flatten(),
layers.Dense(64, activation='relu'),
layers.Dense(4, activation='softmax')
])
# 编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 训练模型
model.fit(X, y, epochs=10, validation_split=0.2)
# 测试模型
test_loss, test_acc = model.evaluate(X, y, verbose=2)
print('Test accuracy:', test_acc)
```
这里我们首先获取当前工作目录,然后使用os.path.join()方法拼接文件路径。在代码中需要将'德国帕德博恩轴承数据集'和'K001N09_M07_F10_K001_1.mat'修改为实际的文件夹和文件名。
阅读全文