欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于tensorflow和keras安装问题

程序员文章站 2022-07-13 08:16:39
...

网上的相关安装教程,大多数方法是先安装tensorflow,再安装keras,当我发现二者都安装后,引入包时会一直报错

import keras

上述代码一直不能运行成功。

我觉得原因可能是:tensorflow2.0以上的版本内置了keras,所以当直接调用keras一直报错,试了各种版本也不好使。

关于tensorflow和keras安装问题

最后,直接调用了tensorflow2.2中的keras,完美运行

import pandas as pd
import tensorflow.keras
import tensorflow as tf
from tensorflow.keras.models import Sequential
from sklearn.model_selection import cross_val_score, train_test_split
from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv1D, MaxPooling1D
from tensorflow.keras.models import model_from_json
import matplotlib.pyplot as plt
from tensorflow.keras import backend as K

# 自定义度量函数
def coeff_determination(y_true, y_pred):
    SS_res =  K.sum(K.square( y_true-y_pred ))
    SS_tot = K.sum(K.square( y_true - K.mean(y_true) ) )
    return ( 1 - SS_res/(SS_tot + K.epsilon()) )
# 定义一个神经网络
model = Sequential()
model.add(Conv1D(16, 3, input_shape=(246, 1), activation='relu'))
model.add(Conv1D(16, 3, activation='relu'))
model.add(MaxPooling1D(3))
model.add(Conv1D(64, 3, activation='relu'))
model.add(Conv1D(64, 3, activation='relu'))
model.add(MaxPooling1D(3))
model.add(Conv1D(128, 3, activation='relu'))
model.add(Conv1D(128, 3, activation='relu'))
model.add(MaxPooling1D(3))
model.add(Conv1D(64, 3, activation='relu'))
model.add(Conv1D(64, 3, activation='relu'))
model.add(MaxPooling1D(3))
model.add(Flatten())
model.add(Dense(1, activation='linear'))
#plot_model(model, to_file='./model_linear.png', show_shapes=True)
print(model.summary())
model.compile(optimizer='adam', loss='mean_squared_error', metrics=[coeff_determination])