前言:
如题,我们在实验时,通常有这么一个需求:我们已经train好一个model,但是我们希望获取模型的其中的一层的输入,查看某些层提取到了哪些特征,或者对这一层的输出做做一些其他的处理。
#其中Wclass_model为已经训练完毕的模型,这里获取该模型倒数第二层的输出
sub_model = tf.keras.models.Model(inputs = Wclass_model.input,outputs = Wclass_model.layers[-2].output)
result = sub_model.predict(ts_datasets_val)
可视化隐空间上的点:
import plotly.graph_objs as go
data = [go.Scatter3d(x=result_cloudy_df.x,y=result_cloudy_df.y,z=result_cloudy_df.z,mode='markers',opacity=0.9,marker=dict(size=5,color='black')),go.Scatter3d(x=result_snow_df.x,y=result_snow_df.y,z=result_snow_df.z,mode='markers',opacity=0.9,marker=dict(size=5,color='red')),go.Scatter3d(x=result_foggy_df.x,y=result_foggy_df.y,z=result_foggy_df.z,mode='markers',opacity=0.9,marker=dict(size=5,color='blue'))]
fig = go.Figure(data=data)
fig.update_layout(title='三维散点',autosize=False,width=900,height=900,margin=dict(l=65,r=50,b=65,t=90))
fig.show()