zoukankan      html  css  js  c++  java
  • Fizz Buzz in tensorflow

     code

    from keras.layers.normalization import BatchNormalization
    from keras.models import Sequential
    from keras.layers.core import Dense,Dropout,Activation
    from keras.optimizers import SGD,Adam
    import numpy as np
    import os
    os.environ["TF_CPP_MIN_LOG_LEVEL"]='3'
    def fizzbuzz(start,end):
        x_train,y_train=[],[]
        for i in range(start,end+1):
            num = i
            tmp=[0]*10
            j=0
            while num :
                tmp[j] = num & 1#这位是1吗
                num = num>>1#右移一位
                j+=1
            x_train.append(tmp)
            if i % 3 == 0 and i % 5 ==0:
                y_train.append([0,0,0,1])
            elif i % 3 == 0:
                y_train.append([0,1,0,0])
            elif i % 5 == 0:
                y_train.append([0,0,1,0])
            else :
                y_train.append([1,0,0,0])
        return np.array(x_train),np.array(y_train)
    
    x_train,y_train = fizzbuzz(101,1000) #打标记函数
    x_test,y_test = fizzbuzz(1,100)
    
    model = Sequential()
    model.add(Dense(input_dim=10,output_dim=100))#100个neuron(hidden layer)
    model.add(Activation('relu'))
    model.add(Dense(output_dim=4))#4种情况
    model.add(Activation('softmax'))
    model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
    
    model.fit(x_train,y_train,batch_size=20,nb_epoch=100)
    
    result = model.evaluate(x_test,y_test,batch_size=1000)
    
    print('Acc:',result[1])

    结果并没有达到百分百正确率,我们首先开一个更大的neure,把hidden neure 从100改到1000

    model.add(Dense(input_dim=10,output_dim=1000))

  • 相关阅读:
    [六省联考2017]相逢是问候
    [CQOI2017]老C的键盘
    [CQOI2017]老C的任务
    [CQOI2017]小Q的棋盘
    <sdoi2017>树点涂色
    三分法
    最长回文子串
    hdu3261
    spoj694
    poj1743
  • 原文地址:https://www.cnblogs.com/tingtin/p/12377174.html
Copyright © 2011-2022 走看看