ValueError: Input 0 of layer conformer_encoder_subsampling_1 is incompatible with the layer: : expected min_ndim=4, found ndim=3. Full shape received: (None, 8000, 1) #14393
Labels
stale
stat:awaiting response from contributor
type:support
User is asking for help / asking an implementation question. Stackoverflow would be better suited.
I am trying to use the code to predict text from speech but I get error in it .
Code :
import os
import argparse
from tensorflow_asr.utils import setup_environment, setup_devices
import librosa
setup_environment()
import tensorflow as tf
import IPython.display as ipd
DEFAULT_YAML = os.path.join(os.path.abspath(os.path.dirname(file)), "config.yml")
tf.keras.backend.clear_session()
parser = argparse.ArgumentParser(prog="Conformer Testing")
parser.add_argument("--config", type=str, default=DEFAULT_YAML,
help="The file path of model configuration file")
parser.add_argument("--saved", type=str, default=None,
help="Path to saved model")
parser.add_argument("--mxp", default=False, action="store_true",
help="Enable mixed precision")
parser.add_argument("--device", type=int, default=0,
help="Device's id to run test on")
parser.add_argument("--cpu", default=False, action="store_true",
help="Whether to only use cpu")
args = parser.parse_args()
tf.config.optimizer.set_experimental_options({"auto_mixed_precision": args.mxp})
setup_devices([args.device], cpu=args.cpu)
from tensorflow_asr.configs.config import Config
from tensorflow_asr.featurizers.speech_featurizers import TFSpeechFeaturizer
from tensorflow_asr.models.conformer import ConformerEncoder
config = Config(args.config, learning=True)
speech_featurizer = TFSpeechFeaturizer(config.speech_config)
assert args.saved
build model
model = ConformerEncoder(**config.model_config)
model(tf.keras.Input(shape=speech_featurizer.shape, dtype=tf.float32), training=False)
model.load_weights(args.saved, by_name=True)
model.summary(line_length=120)
#conformer.encoder.save_weights("./conformer-encoder.h5")
def predict(audio,shape_num=8000):
prob=model.predict(audio.reshape(1,shape_num,1))
index=np.argmax(prob[0])
return classes[index]
import sounddevice as sd
import soundfile as sf
samplerate = 16000
duration = 1 # seconds
filename = 'output.wav'
print("start")
mydata = sd.rec(int(samplerate * duration), samplerate=samplerate,
channels=1, blocking=True)
print("end")
sd.wait()
sf.write(filename, mydata, samplerate)
os.listdir('D:/New folder (16)/New folder/')
filepath='D:/New folder (16)/New folder'
#reading the voice commands
samples, sample_rate = librosa.load(filepath + '/' + 'output.wav', sr = 16000)
samples = librosa.resample(samples, sample_rate, 8000)
ipd.Audio(samples,rate=8000)
predict(samples)
Error :
ValueError: Input 0 of layer conformer_encoder_subsampling_1 is incompatible with the layer: : expected min_ndim=4, found ndim=3. Full shape received: (None, 8000, 1)
Plzzz help me with this.
The text was updated successfully, but these errors were encountered: