课程视频链接: https://www.bilibili.com/video/av10590361/?p=19
import numpy as np
from keras.models import Sequential
from keras.layers.core import Dense,Dropout,Activation
from keras.optimizers import SGD,Adam
from keras.utils import np_utils
from keras.datasets import mnist
def load_data():
(x_train,y_train),(x_test,y_test)=mnist.load_data()
number=10000
x_train=x_train[0:number] # x_train.shape=(10000, 28, 28)=x_test.shape
y_train=y_train[0:number]
x_train=x_train.reshape(number,28*28)
x_test=x_test.reshape(x_test.shape[0],28*28) # x_test.shape[0]=number=10000
x_train=x_train.astype('float32')
x_test=x_test.astype('float32')
y_train=np_utils.to_categorical(y_train,10)
y_test=np_utils.to_categorical(y_test,10)
x_train=x_train
x_test=x_test
x_train=x_train/255
x_test=x_test/255
x_test=np.random.normal(x_test)
return (x_train,y_train),(x_test,y_test)
(x_train,y_train),(x_test,y_test)=load_data()
model = Sequential()
model.add(Dense(input_dim=28*28,units=633,activation='relu'))
model.add(Dropout(0.7))
model.add(Dense(units=633,activation='relu'))
model.add(Dense(units=633,activation='relu'))
#for i in range(5):
# model.add(Dense(units=633,activation='relu'))
model.add(Dense(units=10,activation='softmax'))
model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(x_train,y_train,batch_size=100,epochs=20)
result1 = model.evaluate(x_train,y_train,batch_size=100)
print('\nTrain:Acc:', result1[1])
result2 = model.evaluate(x_test,y_test,batch_size=100)
print('\nTest:Acc:', result2[1])
课程视频链接: https://www.bilibili.com/video/av10590361/?p=20
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
def fizzbuzz(start,end):
x_train,y_train=[],[]
for i in range(start,end+1):
i1=i2=i
tmp = [0]*10
j = -1
while i1 != 0:
tmp[j] = i1 % 2
i1 = i1 >> 1
j -= 1
# 此时tmp为i的二进制列表 如i为102时,tmp为[0,0,0,1,1,0,0,1,1,0]
tmp.reverse()
x_train.append(tmp)
# num = i
# tmp=[0]*10
# j=0
# while num :
# tmp[j] = num & 1
# num = num>>1
# j+=1 此段为李宏毅老师的源代码
if i2 % 3 == 0 and i2 % 5 ==0:
y_train.append([0,0,0,1])
elif i2 % 3 == 0:
y_train.append([0,1,0,0])
elif i2 % 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))
##model.add(Activation('relu'))
model.add(Dense(input_dim=10,units=1000,activation='relu'))
#model.add(Dense(output_dim=4))
#model.add(Activation('softmax'))
model.add(Dense(units=4,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])
nb = int(input("输入数字:"))
print("十进制数为:", nb)
print("转换为二进制为:", int(bin(nb)[2:]))
print("转换为八进制为:", int(oct(nb)[2:]))
print("转换为十六进制为:", int(hex(nb)[2:]))
def dec_to_binlist(nb, n):
ls = [0 for i in range(n)]
i = -1
while nb != 0:
ls[i] = nb % 2
nb = nb >> 1
i -= 1
return ls
https://www.cnblogs.com/yanqiang/p/11400510.html
https://www.jb51.net/article/139206.htm
https://blog.csdn.net/weixin_41444522/article/details/92407926