当前位置: 首页 > 后端技术 > Python

keras入门教程(一)

时间:2023-03-25 19:53:43 Python

线性回归模型这里注意默认生成的tensorflow2.0不是完整版keraspipinstallkeras-U--preimporttensorflowastfimportnumpyasnpimportmatplotlib.pyplotaspltfromtensorflowimportkerasprint(tf.__version__)fromkeras.modelsimportSequentialfromkeras.layersimportDenseX=np.linspace(-1,1,200)np.random.shuffle(X)#随机化数据集Y=0.5*X+2+np.random.normal(0,0.05,(200,))#假设我们的真实模型是:Y=0.5X+2plt.scatter(X,Y)plt.show()X_train,Y_train=X[:160],Y[:160]X_test,Y_test=X[160:],Y[160:]model=Sequential()#Keras有两种模型,时序模型(Sequential)和函数式模型#Sequential是比较常用的,它是单输入和单outputmodel.add(Dense(input_dim=1,units=1))#通过add()方法逐层添加模型#Dense是全连接层,第一层需要定义输入,#第二层layer不需要指定input,一般第二层将第一层的输出作为输入,定义好模型后需要进行训练,但是在训练之前,我们需要指定一些训练参数,通过compile()方法选择损失函数和优化器这里我们使用均方误差作为损失函数,随机梯度下降作为优化方法model.compile(loss='mse',optimizer='sgd')print("training...")forstepinrange(301):成本=model.train_on_batch(X_train,Y_train)print('traincost',cost)?training...traincost4.216369traincost4.0576506traincost3.905112traincost3.7585092traincost3.6176078traincost3.482185traincost3.352024traincost3.226918traincost3.1066682traincost2.9910836traincost2.8799806traincost2.773183traincost2.6705215traincost2.5718336traincost2.4769628traincost2.3857594traincost2.2980797traincost2.2137847traincost2.1327415traincost2.054823traincost1.9799061traincost1.9078728traincost1.8386104traincost1.7720104traincost1.7079678traincost1.6463829traincost1.5871592traincost1.5302042traincost1.4754289traincost1.4227486traincost1.3720804traincost1.3233463traincost1.27647traincost1.2313795traincost1.1880047traincost1.1462784traincost1.1061363traincost1.0675167traincost1.0305traincost0.99460983traincost0.9602106traincost0.92710984traincost0.8952567traincost0.86460304traincost0.8351019traincost0.8067085traincost0.77937984traincost0.75307435traincost0.7277524traincost0.70337594traincost0.6799079traincost0.65731347traincost0.63555855traincost0.6146107traincost0.59443855traincost0.5750123traincost0.5563029traincost0.53828263traincost0.520925traincost0.5042044traincost0.4880963traincost0.472577traincost0.45762387traincost0.44321498traincost0.42932963traincost0.41594753traincost0.40304962traincost0.39061695traincost0.378632traincost0.3670775traincost0.35593694traincost0.34519458traincost0.33483508traincost0.3248439traincost0.31520706traincost0.305911traincost0.29694295traincost0.2882902traincost0.27994087traincost0.2718835traincost0.26410693traincost0.25660056traincost0.24935432traincost0.2423583traincost0.23560306traincost0.22907951traincost0.22277899traincost0.21669313traincost0.21081392traincost0.20513353traincost0.1996446traincost0.19434002traincost0.18921284traincost0.18425646traincost0.17946461traincost0.17483108traincost0.17035016traincost0.16601607traincost0.16182347traincost0.1577671traincost0.15384206traincost0.15004347traincost0.14636669traincost0.14280725traincost0.1399traincost0.13602349traincost0.13279115traincost0.12966004traincost0.12662646traincost0.12368695traincost0.12083809traincost0.11807661traincost0.1153994traincost0.11280348traincost0.1102859traincost0.107843935traincost0.105474874traincost0.10317614traincost0.100945294traincost0.098779894traincost0.09667765traincost0.0946364traincost0.09265399traincost0.09072839traincost0.08885764traincost0.08703984traincost0.08527314traincost0.08355583traincost0.08188622traincost0.080262646traincost0.0786836traincost0.077147566traincost0.075653054traincost0.07419874traincost0.07278321traincost0.07140521traincost0.07006353traincost0.068756916traincost0.06748423traincost0.06624437traincost0.065036274traincost0.06385889traincost0.062711254traincost0.06159237traincost0.060501337traincost0.059437264traincost0.05839932traincost0.05738666traincost0.05639849traincost0.055434037traincost0.054492556traincost0.05357336traincost0.052675746traincost0.05179907traincost0.05094268traincost0.050105996traincost0.04928838traincost0.04848926traincost0.047708116traincost0.046944384traincost0.046197575traincost0.045467213traincost0.044752765traincost0.044053786traincost0.04336986traincost0.042700525traincost0.04204539traincost0.041404035traincost0.040776096traincost0.040161185traincost0.03955894traincost0.038969003traincost0.038391046traincost0.037824757traincost0.037269793traincost0.03672588traincost0.036192704traincost0.03566999traincost0.035157472traincost0.034654856traincost0.034161918traincost0.033678383traincost0.033204023traincost0.0327386traincost0.032281894traincost0.03183369traincost0.03139376traincost0.030961925traincost0.030537969traincost0.030121703traincost0.029712945traincost0.029311508traincost0.028917229traincost0.02852993traincost0.028149456traincost0.02777564traincost0.027408326traincost0.027047377traincost0.026692647traincost0.02634399traincost0.026001269traincost0.025664348traincost0.025333118traincost0.025007427traincost0.024687175traincost0.024372231traincost0.024062494traincost0.02375785traincost0.023458183traincost0.023163397traincost0.022873381traincost0.022588048traincost0.022307292traincost0.022031024traincost0.021759152traincost0.021491585traincost0.021228248traincost0.020969043traincost0.020713892traincost0.020462718traincost0.020215448traincost0.019972008traincost0.019732315traincost0.019496303traincost0.019263903traincost0.019035045traincost0.018809652traincost0.018587684traincost0.018369064traincost0.018153723traincost0.017941615traincost0.017732676traincost0.017526846traincost0.017324071traincost0.017124299traincost0.016927475traincost0.016733546traincost0.016542466traincost0.016354186traincost0.016168648traincost0.01598582traincost0.015805641traincost0.015628079traincost0.015453073traincost0.015280595traincost0.0151106traincost0.014943043traincost0.014777884traincost0.014615083traincost0.014454606traincost0.014296411traincost0.014140455traincost0.013986712traincost0.013835144traincost0.013685715traincost0.01353839traincost0.013393136traincost0.013249922traincost0.013108711traincost0.012969477traincost0.01283219traincost0.012696815traincost0.012563321traincost0.012431686traincost0.012301879traincost0.012173861traincost0.012047628traincost0.0119231315traincost0.011800354traincost0.011679266traincost0.011559845traincost0.011442062traincost0.0113259traincost0.011211328traincost0.011098323traincost0.010986872traincost0.010876941traincost0.0107685095traincost0.010661555traincost0.010556059traincost0.010451991traincost0.010349341traincost0.0102480855traincost0.010148199traincost0.010049667traincost0.009952474traincost0.009856592traincost0.009762008traincost0.009668704traincost0.009576656traincost0.009485848traincost0.009396264traincost0.009307886traincost0.009220699traincost0.00913468traincost0.009049815traincost0.008966093traincost0.008883496traincost0.008802002traincost0.0087216traincost0.008642277??cost=model.evaluate(X_test,Y_test,batch_size=40)print('testcost',cost)W,b=model.layers[0].get_weights()查看训练好的网络参数#由于我们的网络只有一层,每次训练只有一个输入,所以只有一个输出#所以第一层训练模型Y=WX+B,其中W,b是训练参数print("weights",W,'nbiases',b)40/40[================================]-0s722us/steptest成本0.007749117910861969weights[[0.6209358]]偏差[1.9840264]Y_pre=model.predict(X_test)plt.scatter(X_test,Y_test)plt.plot(X_test,Y_pre)PLT。展示()