zoukankan      html  css  js  c++  java
  • tensorflow解决Fizz Buzz 的问题

    问题是:

    一个网友的博客,记录他在一次面试时,碰到面试官要求他在白板上用TensorFlow写一个简单的网络实现异或(XOR)功能。这个本身并不难,单层感知器不能解决异或问题是学习神经网络中的一个常识,而简单的两层神经网络却能将其轻易解决。但这个问题的难处在于,我们接触TensorFlow通常直接拿来写CNN,或者其他的深度学习相关的网络了,而实现这种简单网络,基本上从未做过;更何况,要求在白板上写出来,如果想bug free,并不是容易的事儿啊。

     1 from keras.layers.normalization import BatchNormalization
     2 from keras.models import Sequential
     3 from keras.utils import np_utils
     4 from keras.layers.core import Dense, Dropout, Activation
     5 from keras.optimizers import SGD, Adam
     6 import numpy as np
     7 
     8 def fizzbuzz(start,end):
     9     x_train, y_train = [], []
    10     for i in range(start, end+1):
    11         num = i
    12         tmp = [0]*10
    13         j = 0
    14         while num:
    15             tmp[j] = num & 1
    16             num = num >> 1
    17             j += 1
    18         x_train.append(tmp)
    19         if i % 3 == 0 and i % 5 ==0:
    20             y_train.append([0, 0, 0, 1])
    21         elif i % 3 == 0:
    22             y_train.append([0, 1, 0, 0])
    23         elif i % 5 == 0:
    24             y_train.append([0, 0, 1, 0])
    25         else :
    26             y_train.append([1, 0, 0, 0])
    27     return np.array(x_train), np.array(y_train)
    28 
    29 
    30 x_train, y_train = fizzbuzz(101, 1000) 
    31 x_test, y_test = fizzbuzz(1, 100)
    32 
    33 model = Sequential()
    34 model.add(Dense(input_dim=10, output_dim=1000))
    35 model.add(Activation('relu'))
    36 model.add(Dense(output_dim=4))
    37 model.add(Activation('softmax'))
    38 
    39 model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
    40 
    41 model.fit(x_train, y_train, batch_size=20, nb_epoch=100)
    42 
    43 result = model.evaluate(x_test, y_test, batch_size=1000)
    44 
    45 print('Acc:', format(result[1],  '0.2f'))

    参数不同结果不同

     

     参考博客:https://www.cnblogs.com/baobaotql/p/11516611.html

  • 相关阅读:
    xshell不能输入中文,显示为??
    ansible-2.1.0.0_module
    ansible
    解决ssh连接问题2
    Java Socket网络编程Server端详解
    Java Socket网络编程Client端详解
    Spring4.* 中整合 Hibernate
    自定义规则,对List<Map<String,Object>> List<Object>进行排序
    自定义注解和注解的相关使用
    枚举类型的相关解析
  • 原文地址:https://www.cnblogs.com/cfancy/p/12342305.html
Copyright © 2011-2022 走看看