tensorflow 모델 (비 선형 모델) 에 대한 저장, 로드 모델, 네트워크 구 조 를 재 구축 하고 저장 모델 에 먹 이 는 새로운 데이터 실현 절차

2020 단어 기계 학습

# Copyright (c)2018,           
# All rightsreserved
#     :use_model.py
#      :  
#    :
# coding:utf-8
import tensorflow as tf
import numpy as np
from scipy.sparse import dok_matrix
import scipy.io as sio
from tensorflow.python import pywrap_tensorflow
import os
import csv
save_path='.\save_model\blogcatalog3_ppi'
file_path='.GraphData\blogCatalog3.txt'
fin = open(file_path, "r")
firstLine = fin.readline().strip().split()
N = int(firstLine[0])
E = int(firstLine[1])
adj_matrix = dok_matrix((N, N), np.int_)
count = 0
for line in fin.readlines():
    line = line.strip().split()
    x = int(line[0])
    y = int(line[1])
    adj_matrix[x, y] += 1
    adj_matrix[y, x] += 1
    count += 1
fin.close()
adj_matrix = adj_matrix.tocsr()
#              ,         ,      
with tf.Session() as sess:
    #tf.train.import_meta_graph    epoch0.model.meta          ,   saver  
    saver = tf.train.import_meta_graph('./save_model/ppi-walks/epoch300.model.ckpt.meta')
    print("saver", saver)
    #      
    saver.restore(sess, tf.train.latest_checkpoint('./save_model/ppi-walks'))
    graph = tf.get_default_graph()
    #            
    w0 = graph.get_tensor_by_name('w0:0')
    b0 = graph.get_tensor_by_name('b0:0')
    w1 = graph.get_tensor_by_name('w1:0')
    b1 = graph.get_tensor_by_name('b1:0')
    #      
    data= graph.get_tensor_by_name('input_X:0')
    #      
    X = tf.nn.sigmoid(tf.matmul(data, sess.run(w0)) + sess.run(b0))
    X = tf.nn.sigmoid(tf.matmul(X, sess.run(w1)) + sess.run(b1))
    # print("embedding",sess.run(X,feed_dict={data:adj_matrix.toarray()}))
    #           ,    
    embedding_result=sess.run(X, feed_dict={data: adj_matrix.toarray()})
    sio.savemat(save_path+ '_embedding.mat', {'embedding': embedding_result})

비 선형 모델 에 대해 다 층 함 수 를 포함 한 저장 모델, 로드 모델 을 실시 하고 네트워크 구 조 를 재 구축 하 며 저장 모델 의 새로운 데 이 터 를 먹 인 다.
마지막 으로 얻 은 embedding 결과.

좋은 웹페이지 즐겨찾기