Model giving Same Output

import numpy as np 
import tensorflow as tf 
import matplotlib.pyplot as plt 
import pandas as pd
import math

train_set = pd.read_csv('train.csv')

test_set = pd.read_csv('test.csv')

# Importing LabelEncoder from Sklearn
# library from preprocessing Module.
from sklearn.preprocessing import LabelEncoder
# Creating a instance of label Encoder.
le = LabelEncoder()
# Using .fit_transform function to fit label
# encoder and return encoded label
label = le.fit_transform(train_set['Sex'])

train_set.drop("Sex", axis=1, inplace=True)

train_set["Sex"] = label # 1 - MALE , 0-FEMALE

label_2 = le.fit_transform(train_set['Cabin'])

train_set['Cabin'] = label_2

median_age = train_set['Age'].median()

from sklearn import preprocessing
normalized_arr = preprocessing.normalize([train_set['Age']]).reshape(-1,1)
train_set['Age'] = normalized_arr
# train_set['Cabin'].fillna(train_set['Cabin'].median(),inplace=True)

x_train = train_set.iloc[ :,np.r_[4:5,10:11]]
y_label = train_set['Survived']

from tensorflow.keras.layers import Dense
from tensorflow.keras import Sequential

model = Sequential([



label4 = le.fit_transform(test_set['Sex'])
test_set.drop("Sex", axis=1, inplace=True)

test_set["Sex"] = label4 # 1 - MALE , 0-FEMALE

label_3 = le.fit_transform(test_set['Cabin'])

test_set['Cabin'] = label_3

x_test = test_set.iloc[:,np.r_[3:4,10:11]]

# Cat - num

from sklearn.impute import SimpleImputer

imputer = SimpleImputer(strategy='median')
test = imputer.transform(x_test)

x_test_us = pd.DataFrame(data=test,columns=x_test.columns,index=x_test.index)

output = model.predict(x_test_us)

test_set['Survived'] = output

Giving 0 as output for every input,why??

The output of your model is a probability and not a logit. In the loss function, you have set the flag from_logits=True, while you are providing probabilities to the loss function.