敲了一段代码,但是报错,if_name_=="_main_"中name没有被定义

from tensorflow.python.keras.preprocessing.image import load_img,img_to_array
from tensorflow.python.keras.models import Sequential,Model
from tensorflow.python.keras.layers import Dense,Flatten,Input
import tensorflow as tf
from tensorflow.python.keras.losses import sparse_categorical_crossentropy
from tensorflow.python import keras

class SingleNN(object):
#建立神经网络模型
model=keras.Sequential([
keras.layers.Flatten(input_shape=(28,28)),#将输入数据进行修改展平
keras.layers.Dense(128,activation=tf.nn.relu),
keras.layers.Dense(10,activation=tf.nn.softmax)
])

def _init_(self): 
    (x_train,y_train),(x_test,y_test)=keras.datasets.fashion_mnist.load_data()
   #编译模型优化器、损失、准确率
def singlenn_compile(self):
    singlenn_compile(optimizer=keras.optimizer.adam(le=0.001),
                    loss=tf.keras.losses.sparse_categorical_crossentropy,
                    metrics=['accuracy'])
    return None
#模型训练
def singlenn_fit(self):
    singleNN.model.fit(self.x_train,self.y_train,epochs=10)
    return None
def single_evalute(self):
    test_loss,test_acc=singleNN.model.evalute(self.x_tesy,self.y_test)
    print(test_loss,test_acc)
    return None

if name =='main' :
snn=singleNN()
snn.singlenn_compile()
snn.singlenn_fit()
snn.single_evalute()

if name=='main'

注意它的写法 是两个下划线
具体可参考