1、from tensorflow.keras.models import Что делать, если последовательную среду невозможно настроить? 2. Невозможно проанализировать импорт «tensorflow.keras.models» PylancereportMissingImports. Произошло исключение: ImportError cannot import name 'OrderedDict' from 'typing' (F:\Anaconda\lib\typing.py) File "D:\Desktop\python project\demomo.py", line 57, in <module> from tensorflow.keras.models import Sequential ImportError: cannot import name 'OrderedDict' from 'typing' (F:\Anaconda\lib\typing.py)
Просто скопируйте и вставьте следующий код в терминал vscode, не беспокоясь ни о чем.
Просто вставьте это сюда.
conda create -n tf3 python=3.7
pip install ipykernel -i https://pypi.tuna.tsinghua.edu.cn/simple/
python -m ipykernel install --name tf3
conda activate tf3
pip install tensorflow==2.3.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install keras==2.4.3 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install numpy==1.19.5 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install pandas==1.1.4 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install scikit-learn==0.24.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install scipy==1.5.4 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install matplotlib==3.3.3 -i https://pypi.tuna.tsinghua.edu.cn/simple/
Наконец, добавьте соответствующие библиотеки в vscode. Если об ошибке не сообщается, значит, все в порядке.
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from keras.layers import Dropout
✨Ниже приведены соответствующие библиотеки, импортированные в мой вопрос. Проблема решена.
import matplotlib.pyplot as plt
from pandas import read_csv
from pandas import DataFrame
from pandas import concat
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM,Dense,Dropout
from numpy import concatenate
from sklearn.metrics import mean_squared_error,mean_absolute_error,r2_score
from math import sqrt
Это сделано и работает нормально.
Давайте воспользуемся моделью прогнозирования, о которой я сообщал ранее, чтобы проверить, успешно ли она работает. Следующий тест — это работающий код.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas import read_csv
from pandas import DataFrame
from pandas import concat
from sklearn.preprocessing import MinMaxScaler
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import LSTM,Dense,Dropout
from numpy import concatenate
from sklearn.metrics import mean_squared_error,mean_absolute_error,r2_score
from math import sqrt
# Загрузить данные
df = pd.read_csv('Объединить результаты.csv') # Замените на путь к файлу данных.
# Выберите столбец, который вы хотите спрогнозировать (например, цена золота).
data = df['USD'].values.reshape(-1, 1)
# нормализованные данные
scaler = MinMaxScaler(feature_range=(0, 1))
scaled_data = scaler.fit_transform(data)
# Разделите обучающий набор и тестовый набор
train_size = int(len(scaled_data) * 0.8)
train_data, test_data = scaled_data[:train_size], scaled_data[train_size:]
# Подготовьте данные для обучения
def create_dataset(dataset, time_steps=1):
dataX, dataY = [], []
for i in range(len(dataset)-time_steps):
a = dataset[i:(i+time_steps), 0]
dataX.append(a)
dataY.append(dataset[i + time_steps, 0])
return np.array(dataX), np.array(dataY)
time_steps = 1
X_train, y_train = create_dataset(train_data, time_steps)
X_test, y_test = create_dataset(test_data, time_steps)
# Преобразование данных в формат ввода LSTM [Количество образцов, временной шаг, количество функций]
X_train = np.reshape(X_train, (X_train.shape[0], X_train.shape[1], 1))
X_test = np.reshape(X_test, (X_test.shape[0], X_test.shape[1], 1))
# Построить модель LSTM
model = Sequential()
model.add(LSTM(units=50, return_sequences=True, input_shape=(X_train.shape[1], 1)))
model.add(LSTM(units=50))
model.add(Dense(units=1))
model.compile(optimizer='adam', loss='mean_squared_error')
# Модель обучения
model.fit(X_train, y_train, epochs=10, batch_size=16, verbose=2)
# Используйте модель для прогнозирования
train_predict = model.predict(X_train)
test_predict = model.predict(X_test)
# Денормализованные результаты прогнозирования
train_predict = scaler.inverse_transform(train_predict)
test_predict = scaler.inverse_transform(test_predict)
# Постройте результаты прогнозирования
plt.plot(data, label='True Data')
plt.plot([None for _ in range(train_size)] + [x for x in train_predict], label='Train Prediction')
plt.plot([None for _ in range(train_size + time_steps)] + [x for x in test_predict], label='Test Prediction')
plt.legend()
plt.show()
Бегите успешно!