ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TensorFlow实践笔记

2021-12-31 10:03:38  阅读:215  来源: 互联网

标签:keras 实践 笔记 callbacks train tf TensorFlow model valid


TensorFlow

安装

python3 -m pip install --upgrade tensorflow

keras API

Functional API

  • concentrate层
  • 多输入(X_train_A, X_train_B)
  • 多输出
input_A = keras.layers.Input(shape=[5], name="wide_input")
hidden1 = keras.layers.Dense(30, activation="relu")(input_B)
concat = keras.layers.concatenate([input_A, hidden2])
output = keras.layers.Dense(1, name="main_output")(concat)
aux_output = keras.layers.Dense(1, name="aux_output")(hidden2)
model = keras.Model(inputs=[input_A, input_B], outputs=[output, aux_output])
model.summary()
model.compile(loss=["mse", "mse"], loss_weights=[0.9, 0.1], optimizer="sgd")
history = model.fit([X_train_A, X_train_B], [y_train, y_train], epochs=20,validation_data=([X_valid_A, X_valid_B], [y_valid, y_valid]))#valid验证集
model.evaluate(X_test, y_test)
y_proba = model.predict(X_new)
  • 保存恢复模型
model.save("my_keras_model.h5")
model = keras.models.load_model("my_keras_model.h5")
  • 调回
checkpoint_cb = keras.callbacks.ModelCheckpoint("my_keras_model.h5",
						save_best_only=True)#save_best_only只保存验证集最好的模型,若无则默认每个周期保存
						early_stopping_cb = keras.callbacks.EarlyStopping(patience=10,
                              restore_best_weights=True)#早停
history = model.fit(X_train, y_train, epochs=100,
                    validation_data=(X_valid, y_valid),
                    callbacks=[checkpoint_cb, early_stopping_cb])#调回

其他keras.callbacks

Subclassing API

操作

  • 可视化
tensorboard_cb = keras.callbacks.TensorBoard(run_logdir)#创建日志详见chapter10
fit的时候callbacks=[tensorboard_cb]

在日志目录下运行tensorboard打开浏览器
其他信息:选项、tf.summary包

数据结构

张量

tf.Tensor值不能修改

t=tf.constant([[1., 2., 3.], [4., 5., 6.]]) 

索引和一些基本运算与numpy类似(具体见chapter11
@等于tf.matmul()
NumPy默认使用64位精度,TensorFlow默认用32位精度,当你用NumPy数组创建张量时,一定要设置dtype=tf.float32

  • 类型转换
    tf.cast(t2, tf.float32)

变量

tf.Variable()
修改值v.assign(2)

标签:keras,实践,笔记,callbacks,train,tf,TensorFlow,model,valid
来源: https://blog.csdn.net/qq_38591130/article/details/105891306

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有