Python 3.x tensorflow 2.0中不存在tf.contrib我应该下载我的tensorflow版本吗?

Python 3.x tensorflow 2.0中不存在tf.contrib我应该下载我的tensorflow版本吗?,python-3.x,tensorflow,keras,libraries,tensorflow2.0,Python 3.x,Tensorflow,Keras,Libraries,Tensorflow2.0,我试图用keras和tensorflow创建一个神经网络。它实现了一个顺序模型,该模型创建了一些依赖库的问题 ! python -m pip install tensorflow.contrib from keras.models import Sequential from keras.layers import Dense, Dropout from keras.constraints import maxnorm from tensorflow.python.compiler.tensor

我试图用keras和tensorflow创建一个神经网络。它实现了一个顺序模型,该模型创建了一些依赖库的问题

! python -m pip install tensorflow.contrib
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.constraints import maxnorm
from tensorflow.python.compiler.tensorrt import trt_convert as trt

def create_model(input_dim, output_dim):
    print(output_dim)
    # create model
    model = Sequential()
    # input layer
    model.add(Dense(100, input_dim=input_dim, activation='relu', kernel_constraint=maxnorm(3)))
    model.add(Dropout(0.2))

    # hidden layer
    model.add(Dense(60, activation='relu', kernel_constraint=maxnorm(3)))
    model.add(Dropout(0.2))

    # output layer
    model.add(Dense(output_dim, activation='softmax'))

    # Compile model
    model.compile(loss='categorical_crossentropy', loss_weights=None, optimizer='adam', metrics=['accuracy'])
    #model.compile(loss=focal_loss(alpha=1), loss_weights=None, optimizer='nadam', metrics=['accuracy'])

    return model
但它的回报是:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-64-26ffb3a98319> in <module>
----> 1 from keras.models import Sequential
      2 from keras.layers import Dense, Dropout
      3 from keras.constraints import maxnorm
      4 from tensorflow.python.compiler.tensorrt import trt_convert as trt
      5 

C:\ProgramData\Anaconda3\lib\site-packages\keras\__init__.py in <module>
      2 
      3 from . import utils
----> 4 from . import activations
      5 from . import applications
      6 from . import backend

C:\ProgramData\Anaconda3\lib\site-packages\keras\activations.py in <module>
      4 from . import backend as K
      5 from .utils.generic_utils import deserialize_keras_object
----> 6 from .engine import Layer
      7 
      8 

C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\__init__.py in <module>
      6 from .topology import Layer
      7 from .topology import get_source_inputs
----> 8 from .training import Model

C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\training.py in <module>
     23 from .. import metrics as metrics_module
     24 from ..utils.generic_utils import Progbar
---> 25 from .. import callbacks as cbks
     26 from ..legacy import interfaces
     27 

C:\ProgramData\Anaconda3\lib\site-packages\keras\callbacks.py in <module>
     24 if K.backend() == 'tensorflow':
     25     import tensorflow as tf
---> 26     from tensorflow.contrib.tensorboard.plugins import projector
     27 
     28 

ModuleNotFoundError: No module named 'tensorflow.contrib'
测试一个答案 我不再有tf.contrib错误,但在以下库中有另一个错误:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.constraints import MaxNorm

def create_model(input_dim, output_dim):
    print(output_dim)
    # create model
    model = Sequential()
    # input layer
    model.add(Dense(100, input_dim=input_dim, activation='relu', kernel_constraint=MaxNorm(3)))
    model.add(Dropout(0.2))

    # hidden layer
    model.add(Dense(60, activation='relu', kernel_constraint=MaxNorm(3)))
    model.add(Dropout(0.2))

    # output layer
    model.add(Dense(output_dim, activation='softmax'))

    # Compile model
    model.compile(loss='categorical_crossentropy', loss_weights=None, optimizer='adam', metrics=['accuracy'])
    #model.compile(loss=focal_loss(alpha=1), loss_weights=None, optimizer='nadam', metrics=['accuracy'])

    return model
它不会产生任何错误,但现在我的jupyter内核在稍后调用model.fit时崩溃

更改tensorflow版本
是,从TF>=2.0开始,tensorflow contrib不存在

为了让代码正常工作,您必须降级到tensorflow 1.14,即pip安装tensorflow gpu==1.14。另外,从您从keras导入的事实来看,您还需要pip install keras==2.2.4

另外,尝试导入包tensorflow.keras中的所有内容,而不是普通keras


请同时卸载tensorflow简单软件包。在tensorflow==2.1之前,cpu和gpu版本是不同的,这就是为什么要安装两个不同的tensorflow版本。

使用而不是keras。@jdehesa这似乎是个好主意,但现在我的jupyter内核在安装模型并调用model.fitThanks后崩溃!我试图降级tensorflow,但似乎Anaconda不想这样做。我已经用问题更新了我的问题,我正在更新答案。
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout
from tensorflow.keras.constraints import MaxNorm

def create_model(input_dim, output_dim):
    print(output_dim)
    # create model
    model = Sequential()
    # input layer
    model.add(Dense(100, input_dim=input_dim, activation='relu', kernel_constraint=MaxNorm(3)))
    model.add(Dropout(0.2))

    # hidden layer
    model.add(Dense(60, activation='relu', kernel_constraint=MaxNorm(3)))
    model.add(Dropout(0.2))

    # output layer
    model.add(Dense(output_dim, activation='softmax'))

    # Compile model
    model.compile(loss='categorical_crossentropy', loss_weights=None, optimizer='adam', metrics=['accuracy'])
    #model.compile(loss=focal_loss(alpha=1), loss_weights=None, optimizer='nadam', metrics=['accuracy'])

    return model
from tensorflow.keras.callbacks import ModelCheckpoint
from tensorflow.keras.models import load_model

model = create_model(x_train.shape[1], y_train.shape[1])

epochs =  30
batch_sz = 64

print("Beginning model training with batch size {} and {} epochs".format(batch_sz, epochs))

checkpoint = ModelCheckpoint("lc_model.h5", monitor='val_acc', verbose=0, save_best_only=True, mode='auto', period=1)


# train the model
history = model.fit(x_train.as_matrix(),
                y_train.as_matrix(),
                validation_split=0.2,
                epochs=epochs,  
                batch_size=batch_sz, 
                verbose=2,
                class_weight = weights, # class_weight tells the model to "pay more attention" to samples from an under-represented grade class.
                callbacks=[checkpoint])
(base) C:\Users\antoi>python -m pip install tensorflow-gpu==1.14 --user
Collecting tensorflow-gpu==1.14
  Using cached https://files.pythonhosted.org/packages/81/d1/9222b9aac2fa27dccaef38917cde84c24888f3cd0dd139c7e12be9f49a7a/tensorflow_gpu-1.14.0-cp37-cp37m-win_amd64.whl
Requirement already satisfied: google-pasta>=0.1.6 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (0.1.7)
Requirement already satisfied: astor>=0.6.0 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (0.8.0)
Collecting tensorboard<1.15.0,>=1.14.0 (from tensorflow-gpu==1.14)
  Using cached https://files.pythonhosted.org/packages/91/2d/2ed263449a078cd9c8a9ba50ebd50123adf1f8cfbea1492f9084169b89d9/tensorboard-1.14.0-py3-none-any.whl
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.1.0)
Requirement already satisfied: keras-applications>=1.0.6 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.0.8)
Requirement already satisfied: wheel>=0.26 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (0.33.6)
Requirement already satisfied: protobuf>=3.6.1 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (3.10.0)
Requirement already satisfied: termcolor>=1.1.0 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.1.0)
Requirement already satisfied: absl-py>=0.7.0 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (0.9.0)
Requirement already satisfied: six>=1.10.0 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.13.0)
Requirement already satisfied: wrapt>=1.11.1 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.11.2)
Collecting tensorflow-estimator<1.15.0rc0,>=1.14.0rc0 (from tensorflow-gpu==1.14)
  Using cached https://files.pythonhosted.org/packages/3c/d5/21860a5b11caf0678fbc8319341b0ae21a07156911132e0e71bffed0510d/tensorflow_estimator-1.14.0-py2.py3-none-any.whl
Requirement already satisfied: numpy<2.0,>=1.14.5 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.17.4)
Requirement already satisfied: gast>=0.2.0 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (0.2.2)
Requirement already satisfied: grpcio>=1.8.6 in c:\programdata\anaconda3\lib\site-packages (from tensorflow-gpu==1.14) (1.24.1)
Requirement already satisfied: markdown>=2.6.8 in c:\programdata\anaconda3\lib\site-packages (from tensorboard<1.15.0,>=1.14.0->tensorflow-gpu==1.14) (3.1.1)
Requirement already satisfied: setuptools>=41.0.0 in c:\programdata\anaconda3\lib\site-packages (from tensorboard<1.15.0,>=1.14.0->tensorflow-gpu==1.14) (44.0.0.post20200106)
Requirement already satisfied: werkzeug>=0.11.15 in c:\programdata\anaconda3\lib\site-packages (from tensorboard<1.15.0,>=1.14.0->tensorflow-gpu==1.14) (0.16.0)
Requirement already satisfied: h5py in c:\programdata\anaconda3\lib\site-packages (from keras-applications>=1.0.6->tensorflow-gpu==1.14) (2.9.0)
ERROR: tensorflow 2.1.0 has requirement tensorboard<2.2.0,>=2.1.0, but you'll have tensorboard 1.14.0 which is incompatible.
ERROR: tensorflow 2.1.0 has requirement tensorflow-estimator<2.2.0,>=2.1.0rc0, but you'll have tensorflow-estimator 1.14.0 which is incompatible.
ERROR: rasa 1.9.4 has requirement tensorflow-estimator==2.1.0, but you'll have tensorflow-estimator 1.14.0 which is incompatible.
Installing collected packages: tensorboard, tensorflow-estimator, tensorflow-gpu
  WARNING: The script tensorboard.exe is installed in 'C:\Users\antoi\AppData\Roaming\Python\Python37\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  WARNING: The scripts freeze_graph.exe, saved_model_cli.exe, tensorboard.exe, tf_upgrade_v2.exe, tflite_convert.exe, toco.exe and toco_from_protos.exe are installed in 'C:\Users\antoi\AppData\Roaming\Python\Python37\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed tensorboard-1.14.0 tensorflow-estimator-1.14.0 tensorflow-gp

u-1.14.0
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
(base) C:\Users\antoi>python -m pip list | findstr tensorflow
tensorflow                         2.1.0
tensorflow-addons                  0.8.3
tensorflow-estimator               1.14.0
tensorflow-gpu                     1.14.0
tensorflow-hub                     0.7.0
tensorflow-probability             0.7.0
WARNING: You are using pip version 19.2.3, however version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.