pythontensorflowkeraskeras-layer

Error when using keras: module 'keras.layers' has no attribute 'TextVectorization'


import os

os.environ["KERAS_BACKEND"] = "tensorflow"

import pandas as pd
import pathlib
import random
import string
import re
import numpy as np
import tensorflow as tf
import keras
from keras import layers

MAX_SEQUENCE_LENGTH = 40
INP_VOCAB_SIZE = 15000

input_vectorization = keras.layers.TextVectorization(
    max_tokens=INP_VOCAB_SIZE,
    output_mode="int",
    output_sequence_length=MAX_SEQUENCE_LENGTH
)

AttributeError: module 'keras.layers' has no attribute 'TextVectorization'

I import the keras module and get layers from keras, but when I try to use keras.layers.TextVectorization, my code throws that error.

I've tried writing the call differently but then I get a new AttributeError.

input_vectorization = tf.keras.TextVectorization(
    #same inside as before
)

AttributeError: module 'keras' has no attribute '__version__'

I've also tried reinstalling both tensorflow and keras using pip, but that didn't change anything. What should I do?

Keras version: 3.1.1

Tensorflow version: 2.16.1


Solution

  • I figured out the issue. There was something wrong with the virtual environment I was using in vs code. Creating a new enviroment with conda and reinstalling tensorflow and keras locally had everything working smoothly again.

    Thanks for everyone's help!