├── .deepsurv_tf.py.swp ├── .ipynb_checkpoints └── demo-checkpoint.ipynb ├── README.md ├── Survival.py ├── __pycache__ ├── datasets.cpython-36.pyc └── deepsurv_tf.cpython-36.pyc ├── cost_plot.svg ├── datasets.py ├── deepsurv_tf.py ├── deepsurv_tf.pyc ├── demo.ipynb ├── out ├── checkpoint ├── learned.model.data-00000-of-00001 ├── learned.model.index └── learned.model.meta ├── req.txt ├── simulated_dat.csv └── summary_logs ├── events.out.tfevents.1491537118.cogsbox ├── events.out.tfevents.1491537301.cogsbox ├── events.out.tfevents.1491537396.cogsbox ├── events.out.tfevents.1491539517.cogsbox ├── events.out.tfevents.1491539725.cogsbox ├── events.out.tfevents.1491539757.cogsbox ├── events.out.tfevents.1491602749.cogsbox ├── events.out.tfevents.1492146544.cogsbox ├── events.out.tfevents.1492148264.cogsbox └── events.out.tfevents.1492148270.cogsbox /.deepsurv_tf.py.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/.deepsurv_tf.py.swp -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TensorFlow-Survival-Analysis 2 | Making survival analysis work in TensorFlow 3 | 4 | In this repo I demonstrate how survival analysis can work in tensorflow. 5 | The Theano version of this can be found [here](https://github.com/jaredleekatzman/DeepSurv). 6 | -------------------------------------------------------------------------------- /Survival.py: -------------------------------------------------------------------------------- 1 | import tensorflow as tf 2 | import numpy as np 3 | import pandas as pd 4 | # Read data 5 | #df = pd.read_csv("simulated_dat.csv") 6 | df = pd.read_csv("true.csv") 7 | 8 | # 1. Identify model and cost 9 | # Linear Regression Model y_hat = Wx+b 10 | # Cost = \sum_{i \in D}[F(x_i,\theta) - log(\sum_{j \in R_i} e^F(x_j,\theta))] - \lambda P(\theta) 11 | 12 | # 2. Identify placeholders 13 | # x 14 | # y 15 | 16 | # 3. Identify Variables 17 | # W and b are variables 18 | # Everything else -- components that are not a variables or placeholder -- 19 | # should be a combination of these building blocks 20 | 21 | 22 | #placeholders 23 | # None means that we don't want to specify the number of rows 24 | x = tf.placeholder(tf.float32, [None, 5]) 25 | y = tf.placeholder(tf.float32, [None, 1]) 26 | e = tf.placeholder(tf.float32, [None, 1]) 27 | risk_true = tf.placeholder(tf.float32, [None, 1]) 28 | #variables - initialize to vector of zeros 29 | W = tf.Variable(tf.zeros([5,1])) 30 | b = tf.Variable(tf.zeros([1])) 31 | 32 | #model and cost 33 | risk = tf.matmul(x,W) + b 34 | cost = -tf.reduce_mean((risk - tf.log(tf.cumsum(tf.exp(risk_true))))*e) 35 | #Gradient Descent 36 | train_step = tf.train.GradientDescentOptimizer(0.0001).minimize(cost) 37 | 38 | #TensorFlow quarks 39 | init = tf.global_variables_initializer() 40 | sess = tf.Session() 41 | 42 | # initialize computation graph 43 | sess.run(init) 44 | 45 | #Generate data 46 | for i in range(1000): 47 | #features = np.array([[i]]) 48 | features = np.array(df[['x1','x2','x3','x4','x5']]) 49 | #target = np.array([[i*4]]) 50 | target = np.array(df[['time']]) 51 | censored = np.array(df[['is_censored']]) 52 | risk_t = np.array(df[['risk']]) 53 | #feed in data from placeholers 54 | feed = { x: features, y: target, e: censored, risk_true: risk_t} 55 | sess.run(train_step, feed_dict=feed) 56 | if i % 50 == 0: 57 | print("After %d iteration:" % i) 58 | print("W h(x)_1: %f" % sess.run(W[0])) 59 | print("W h(x)_2: %f" % sess.run(W[1])) 60 | print("W h(x)_3: %f" % sess.run(W[2])) 61 | print("W h(x)_4: %f" % sess.run(W[3])) 62 | print("W h(x)_5: %f" % sess.run(W[4])) 63 | print("b : %f" % sess.run(b)) 64 | print("cost : %f" % sess.run(cost, feed_dict=feed)) 65 | 66 | 67 | -------------------------------------------------------------------------------- /__pycache__/datasets.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/__pycache__/datasets.cpython-36.pyc -------------------------------------------------------------------------------- /__pycache__/deepsurv_tf.cpython-36.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/__pycache__/deepsurv_tf.cpython-36.pyc -------------------------------------------------------------------------------- /cost_plot.svg: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | idx 15 | 16 | 17 | 0 18 | 20 19 | 40 20 | 60 21 | 80 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 0 120 | 10 121 | 20 122 | 30 123 | 124 | 125 | cost 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | -------------------------------------------------------------------------------- /datasets.py: -------------------------------------------------------------------------------- 1 | from math import log, exp 2 | import numpy as np 3 | import pandas as pd 4 | class SimulatedData: 5 | def __init__(self, hr_ratio, 6 | average_death = 5, end_time = 15, 7 | num_features = 10, num_var = 2, 8 | treatment_group = False): 9 | """ 10 | from datasets import SimulatedData 11 | s = SimulatedData(hr_ratio = 2) 12 | s.generate_data(N=500) 13 | 14 | Factory class for producing simulated survival data. 15 | Current supports two forms of simulated data: 16 | Linear: 17 | Where risk is a linear combination of an observation's features 18 | Nonlinear (Gaussian): 19 | A gaussian combination of covariates 20 | 21 | Parameters: 22 | hr_ratio: lambda_max hazard ratio. 23 | average_death: average death time that is the mean of the 24 | Exponentional distribution. 25 | end_time: censoring time that represents an 'end of study'. Any death 26 | time greater than end_time will be censored. 27 | num_features: size of observation vector. Default: 10. 28 | num_var: number of varaibles simulated data depends on. Default: 2. 29 | treatment_group: True or False. Include an additional covariate 30 | representing a binary treatment group. 31 | """ 32 | 33 | self.hr_ratio = hr_ratio 34 | self.end_time = end_time 35 | self.average_death = average_death 36 | self.treatment_group = treatment_group 37 | self.m = int(num_features) + int(treatment_group) 38 | self.num_var = num_var 39 | 40 | def _linear_H(self,x): 41 | """ 42 | Calculates a linear combination of x's features. 43 | Coefficients are 1, 2, ..., self.num_var, 0,..0] 44 | 45 | Parameters: 46 | x: (n,m) numpy array of observations 47 | 48 | Returns: 49 | risk: the calculated linear risk for a set of data x 50 | """ 51 | # Make the coefficients [1,2,...,num_var,0,..0] 52 | b = np.zeros((self.m,)) 53 | b[0:self.num_var] = range(1,self.num_var + 1) 54 | 55 | # Linear Combinations of Coefficients and Covariates 56 | risk = np.dot(x, b) 57 | return risk 58 | 59 | def _gaussian_H(self,x, 60 | c= 0.0, rad= 0.5): 61 | """ 62 | Calculates the Gaussian function of a subset of x's features. 63 | 64 | Parameters: 65 | x: (n, m) numpy array of observations. 66 | c: offset of Gaussian function. Default: 0.0. 67 | r: Gaussian scale parameter. Default: 0.5. 68 | 69 | Returns: 70 | risk: the calculated Gaussian risk for a set of data x 71 | """ 72 | max_hr, min_hr = log(self.hr_ratio), log(1.0 / self.hr_ratio) 73 | 74 | # Z = ( (x_0 - c)^2 + (x_1 - c)^2 + ... + (x_{num_var} - c)^2) 75 | z = np.square((x - c)) 76 | z = np.sum(z[:,0:self.num_var], axis = -1) 77 | 78 | # Compute Gaussian 79 | risk = max_hr * (np.exp(-(z) / (2 * rad ** 2))) 80 | return risk 81 | 82 | def generate_data(self, N, 83 | method = 'gaussian', gaussian_config = {}, 84 | **kwargs): 85 | """ 86 | Generates a set of observations according to an exponentional Cox model. 87 | 88 | Parameters: 89 | N: the number of observations. 90 | method: the type of simulated data. 'linear' or 'gaussian'. 91 | guassian_config: dictionary of additional parameters for gaussian 92 | simulation. 93 | 94 | Returns: 95 | dataset: a dictionary object with the following keys: 96 | 'x' : (N,m) numpy array of observations. 97 | 't' : (N) numpy array of observed time events. 98 | 'e' : (N) numpy array of observed time intervals. 99 | 'hr': (N) numpy array of observed true risk. 100 | 101 | See: 102 | Peter C Austin. Generating survival times to simulate cox proportional 103 | hazards models with time-varying covariates. Statistics in medicine, 104 | 31(29):3946-3958, 2012. 105 | """ 106 | 107 | # Patient Baseline information 108 | data = np.random.uniform(low= -1, high= 1, 109 | size = (N,self.m)) 110 | 111 | if self.treatment_group: 112 | data[:,-1] = np.squeeze(np.random.randint(0,2,(N,1))) 113 | print(data[:,-1]) 114 | 115 | # Each patient has a uniform death probability 116 | p_death = self.average_death * np.ones((N,1)) 117 | 118 | # Patients Hazard Model 119 | # \lambda(t|X) = \lambda_0(t) exp(H(x)) 120 | # 121 | # risk = True log hazard ratio 122 | # log(\lambda(t|X) / \lambda_0(t)) = H(x) 123 | if method == 'linear': 124 | risk = self._linear_H(data) 125 | 126 | elif method == 'gaussian': 127 | risk = self._gaussian_H(data,**gaussian_config) 128 | 129 | # Center the hazard ratio so population dies at the same rate 130 | # independent of control group (makes the problem easier) 131 | risk = risk - np.mean(risk) 132 | 133 | # Generate time of death for each patient 134 | # currently exponential random variable 135 | death_time = np.zeros((N,1)) 136 | for i in range(N): 137 | if self.treatment_group and data[i,-1] == 0: 138 | death_time[i] = np.random.exponential(p_death[i]) 139 | else: 140 | death_time[i] = np.random.exponential(p_death[i]) / exp(risk[i]) 141 | 142 | # Censor anything that is past end time 143 | censoring = np.ones((N,1)) 144 | death_time[death_time > self.end_time] = self.end_time 145 | censoring[death_time == self.end_time] = 0 146 | 147 | # Flatten Arrays to Vectors 148 | death_time = np.squeeze(death_time) 149 | censoring = np.squeeze(censoring) 150 | 151 | dataset = pd.DataFrame({ 152 | #only one column of x was used for simplicity 153 | 'x' : data[:,0].astype(np.float32), 154 | 'e' : censoring.astype(np.int32), 155 | 't' : death_time.astype(np.float32), 156 | 'hr' : risk.astype(np.float32) 157 | }) 158 | dataset.to_csv("simulated_dat.csv",index = False) 159 | 160 | return dataset 161 | -------------------------------------------------------------------------------- /deepsurv_tf.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | import tensorflow as tf 3 | import os 4 | import logging 5 | from lifelines.utils import concordance_index 6 | import numpy 7 | import matplotlib.pyplot as plt 8 | import pdb 9 | 10 | 11 | class Parameters(object): 12 | # __slots__ = ["n_in","learning_rate","hidden_layers_sizes","lr_decay","momentum", 13 | # "L2_reg","L1_reg","activation","dropout","batch_norm","standardize", 14 | # "n_epochs", "batch_norm_epsilon", "modelPath", "patience", 15 | # "improvement_threshold","patience_increase","summaryPlots"] 16 | 17 | def __init__(self): 18 | self.n_in = None 19 | self.learning_rate = 0.00001 20 | self.hidden_layers_sizes = [10,10] 21 | self.lr_decay = 0.0 22 | self.momentum = 0.9 23 | self.L2_reg = 0.001 24 | self.L1_reg = 0.0 25 | self.activation = tf.nn.relu 26 | self.dropout = None 27 | self.batch_norm = False 28 | self.standardize = False 29 | self.batch_norm_epsilon = 0.00001 ## numerical stability 30 | 31 | ##training params 32 | self.n_epochs = 500 ## no batches, only epochs since loss requires complete data to calculate 33 | self.modelPath = "out/learned.model" ## path to save the model, so that it can be restored later for use 34 | self.patience = 1000 35 | self.improvement_threshold = 0.99999 36 | self.patience_increase = 2 37 | 38 | ## 39 | self.summaryPlots = None 40 | # self.summaryPlots = "out/summaryPlots" 41 | 42 | class DeepSurvTF(object): 43 | def __init__(self, params): 44 | self.params = params 45 | x = tf.placeholder(dtype = tf.float32, shape = [None, self.params.n_in]) 46 | e = tf.placeholder(dtype = tf.float32) 47 | 48 | assert (self.params.hidden_layers_sizes is not None \ 49 | and type(self.params.hidden_layers_sizes) == list), \ 50 | "invalid hidden layers type" 51 | assert self.params.n_in 52 | 53 | weightsList = [] ## for regularisation 54 | 55 | ## to see training and validation performance 56 | self.trainingStats = {} 57 | 58 | out = x 59 | in_size = self.params.n_in 60 | 61 | 62 | for i in self.params.hidden_layers_sizes: 63 | weights = tf.Variable(tf.truncated_normal((in_size, i)),dtype = tf.float32) 64 | weightsList.append(weights) 65 | 66 | out = tf.matmul(out, weights) 67 | 68 | if self.params.batch_norm: ##TODO : check if ewma needs to be there for non CNN type layers 69 | batch_mean1, batch_var1 = tf.nn.moments(out,[0]) 70 | out_hat = (out - batch_mean1) / tf.sqrt(batch_var1 + self.params.batch_norm_epsilon) 71 | scale = tf.Variable(tf.ones(i)) 72 | beta = tf.Variable(tf.zeros(i)) 73 | out = scale * out_hat + beta 74 | else: 75 | bias = tf.Variable(tf.zeros(i), dtype = tf.float32) 76 | out = out + bias 77 | 78 | out = self.params.activation(out) 79 | if self.params.dropout is not None: 80 | out = tf.nn.dropout(out, keep_prob = 1-self.params.dropout) 81 | 82 | in_size = i 83 | 84 | ##final output linear layer with single output 85 | weights = tf.Variable(tf.truncated_normal((in_size, 1)),dtype = tf.float32) 86 | bias = tf.Variable(tf.zeros(1), dtype = tf.float32) 87 | out = tf.matmul(out, weights) + bias 88 | 89 | ##flattening 90 | out = tf.reshape(out, [-1]) 91 | 92 | ##loss 93 | ##assuming the inputs are sorted reverse time 94 | hazard_ratio = tf.exp(out) 95 | log_risk = tf.log(tf.cumsum(hazard_ratio)) 96 | uncensored_likelihood = out - log_risk 97 | censored_likelihood = uncensored_likelihood * e 98 | loss = -tf.reduce_sum(censored_likelihood) 99 | 100 | ##regularisation is only on weights, not on biases 101 | ##ideally do only 1 of l1+l2 or drop out 102 | if self.params.L1_reg> 0: 103 | for kk in weightsList: 104 | loss += self.params.L1_reg * tf.reduce_sum(tf.abs(kk)) 105 | 106 | if self.params.L2_reg> 0: 107 | for kk in weightsList: 108 | loss += self.params.L2_reg * tf.nn.l2_loss(kk) 109 | 110 | ##optimiser 111 | ##momentum with decay 112 | global_step = tf.Variable(0, trainable=False) 113 | learning_rate = tf.train.inverse_time_decay( 114 | learning_rate = self.params.learning_rate, 115 | global_step = global_step, 116 | decay_steps = 1, 117 | decay_rate = self.params.lr_decay, 118 | ) 119 | grad_step = ( 120 | tf.train.MomentumOptimizer(learning_rate, momentum = self.params.momentum, use_nesterov =True) 121 | .minimize(loss, global_step=global_step) 122 | ) 123 | 124 | ##Adam optimiser 125 | # grad_step = tf.train.AdgradOptimizer(learning_rate = self.params.learning_rate)\ 126 | # .minimize(loss) 127 | 128 | ##gradient descent 129 | # grad_step = tf.train.GradientDescentOptimizer(learning_rate = self.params.learning_rate)\ 130 | # .minimize(loss) 131 | 132 | ##input handles 133 | self.x = x 134 | self.e = e 135 | 136 | ##metrics to retrieve later 137 | self.risk = out 138 | self.grad_step = grad_step 139 | self.loss = loss 140 | 141 | def train(self, trainingData, validationData = None, validation_freq = 10): 142 | #tdata required to sort data only 143 | ## sort data 144 | xdata, edata, tdata = trainingData['x'], trainingData['e'], trainingData['t'] 145 | sort_idx = numpy.argsort(tdata)[::-1] 146 | xdata = xdata[sort_idx] 147 | edata = edata[sort_idx].astype(numpy.float32) 148 | tdata = tdata[sort_idx] 149 | 150 | if validationData: 151 | xdata_valid, edata_valid, tdata_valid = validationData['x'], validationData['e'], validationData['t'] 152 | sort_idx = numpy.argsort(tdata_valid)[::-1] 153 | xdata_valid = xdata_valid[sort_idx] 154 | edata_valid = edata_valid[sort_idx].astype(numpy.float32) 155 | tdata_valid = tdata_valid[sort_idx] 156 | 157 | ##TODO : cache 158 | if self.params.standardize: 159 | mean, var = xdata.mean(axis=0), xdata.std(axis =0) 160 | xdata = (xdata - mean) / var 161 | ##same mean and var as train 162 | xdata_valid = (xdata_valid - mean) / var 163 | 164 | assert self.params.modelPath 165 | assert xdata.shape[1] == self.params.n_in, "invalid number of covariates" 166 | assert (edata.ndim == 1) and (tdata.ndim == 1) ##sanity check 167 | 168 | train_losses, train_ci, train_index = [], [], [] 169 | validation_losses, validation_ci, validation_index = [], [], [] 170 | 171 | best_validation_loss = numpy.inf 172 | best_params_idx = -1 173 | 174 | with tf.Session() as sess: 175 | sess.run(tf.global_variables_initializer()) ##init graph with given initializers 176 | ##start training 177 | for epoch in range(self.params.n_epochs): 178 | loss, risk, _ = sess.run( 179 | [self.loss, self.risk, self.grad_step], 180 | feed_dict = { 181 | self.x : xdata, 182 | self.e : edata 183 | }) 184 | 185 | train_losses.append(loss) 186 | train_ci.append(concordance_index(tdata, -numpy.exp(risk.ravel()), edata)) 187 | train_index.append(epoch) 188 | 189 | ##frequently check metrics on validation data 190 | if validationData and (epoch % validation_freq == 0): 191 | vloss, vrisk = sess.run( 192 | [self.loss, self.risk], 193 | feed_dict = { 194 | self.x : xdata_valid, 195 | self.e : edata_valid 196 | }) 197 | 198 | validation_losses.append(vloss) 199 | validation_ci.append(concordance_index(tdata_valid, -numpy.exp(vrisk.ravel()), edata_valid)) 200 | validation_index.append(epoch) 201 | 202 | # improve patience if loss improves enough 203 | if vloss < best_validation_loss * self.params.improvement_threshold: 204 | self.params.patience = max(self.params.patience, epoch * self.params.patience_increase) 205 | 206 | best_params_idx = epoch 207 | best_validation_loss = vloss 208 | 209 | if self.params.patience <= epoch: 210 | break 211 | 212 | print("Training done") 213 | print("Best epoch", best_params_idx) 214 | print("Best loss", best_validation_loss) 215 | 216 | ##save model 217 | saver = tf.train.Saver() 218 | saver.save(sess, self.params.modelPath) 219 | 220 | self.trainingStats["training"] = { 221 | "loss" : train_losses, 222 | "ci" : train_ci, 223 | "epochs" : train_index, 224 | "type" : "training" 225 | } 226 | 227 | if validationData: 228 | self.trainingStats["validation"] = { 229 | "loss" : validation_losses, 230 | "ci" : validation_ci, 231 | "epochs" : validation_index, 232 | "type" : "validation" 233 | } 234 | 235 | return self.trainingStats 236 | 237 | def plotSummary(self): 238 | validationData = 1 if "validation" in self.trainingStats else 0 239 | ######################################### 240 | ##plot losses 241 | fig, [ax1, ax2] = plt.subplots(figsize = (15,6), nrows=1, ncols=2 ) # create figure & 1 axis 242 | ##losses of train and validation 243 | ax1.plot(self.trainingStats["training"]["epochs"], self.trainingStats["training"]["loss"], "ro") 244 | l1, = ax1.plot(self.trainingStats["training"]["epochs"], self.trainingStats["training"]["loss"], "r") 245 | if validationData: 246 | ax1.plot(self.trainingStats["validation"]["epochs"], self.trainingStats["validation"]["loss"], "bo") 247 | l2, = ax1.plot(self.trainingStats["validation"]["epochs"], self.trainingStats["validation"]["loss"], "b") 248 | ax1.set_xlabel("Epochs") 249 | ax1.set_ylabel("Loss") 250 | ax1.grid() 251 | 252 | ##ci of train and validation 253 | ax2.plot(self.trainingStats["training"]["epochs"], self.trainingStats["training"]["ci"], "ro") 254 | ax2.plot(self.trainingStats["training"]["epochs"], self.trainingStats["training"]["ci"], "r") 255 | if validationData: 256 | ax2.plot(self.trainingStats["validation"]["epochs"], self.trainingStats["validation"]["ci"], "bo") 257 | ax2.plot(self.trainingStats["validation"]["epochs"], self.trainingStats["validation"]["ci"], "b") 258 | ax2.set_xlabel("Epochs") 259 | ax2.set_ylabel("CI") 260 | ax2.grid() 261 | 262 | if validationData: 263 | fig.legend((l1, l2), ('Training', 'Validation'), 'upper left') 264 | 265 | if self.params.summaryPlots: 266 | fig.savefig(self.params.summaryPlots) # save the figure to file 267 | plt.close(fig) 268 | else: 269 | plt.show() 270 | 271 | def predict(self, testXdata): 272 | assert os.path.exists(self.params.modelPath) 273 | with tf.Session() as sess: 274 | saver = tf.train.Saver() 275 | saver.restore(sess, self.params.modelPath) 276 | print("model loaded") 277 | 278 | risk = sess.run([risk], feed_dict = {self.x : testXdata}) 279 | 280 | assert risk.shape[1] == 1 281 | return risk.ravel() 282 | 283 | def get_concordance_index(self, xdata, edata, tdata): 284 | risk = self.predict(xdata) 285 | partial_hazards = -numpy.exp(risk) 286 | return concordance_index(tdata, partial_hazards, edata) 287 | 288 | def recommend_treatment(self, x, trt_i, trt_j, trt_idx = -1): 289 | # Copy x to prevent overwritting data 290 | x_trt = numpy.copy(x) 291 | 292 | # Calculate risk of observations treatment i 293 | x_trt[:,trt_idx] = trt_i 294 | h_i = self.predict(x_trt) 295 | # Risk of observations in treatment j 296 | x_trt[:,trt_idx] = trt_j; 297 | h_j = self.predict(x_trt) 298 | 299 | rec_ij = h_i - h_j 300 | return rec_ij 301 | 302 | #TODO : from deepsurv: plot risk surface, different optimisers (not necessary) -------------------------------------------------------------------------------- /deepsurv_tf.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/deepsurv_tf.pyc -------------------------------------------------------------------------------- /out/checkpoint: -------------------------------------------------------------------------------- 1 | model_checkpoint_path: "learned.model" 2 | all_model_checkpoint_paths: "learned.model" 3 | -------------------------------------------------------------------------------- /out/learned.model.data-00000-of-00001: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/out/learned.model.data-00000-of-00001 -------------------------------------------------------------------------------- /out/learned.model.index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/out/learned.model.index -------------------------------------------------------------------------------- /out/learned.model.meta: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/out/learned.model.meta -------------------------------------------------------------------------------- /req.txt: -------------------------------------------------------------------------------- 1 | # This file may be used to create an environment using: 2 | # $ conda create --name --file 3 | # platform: linux-64 4 | _nb_ext_conf=0.2.0=py27_0 5 | alabaster=0.7.8=py27_0 6 | anaconda=custom=py27_0 7 | anaconda-client=1.4.0=py27_0 8 | anaconda-navigator=1.2.1=py27_0 9 | argcomplete=1.0.0=py27_1 10 | astropy=1.2.1=np111py27_0 11 | babel=2.3.3=py27_0 12 | backports=1.0=py27_0 13 | backports_abc=0.4=py27_0 14 | beautifulsoup4=4.4.1=py27_0 15 | biopython=1.67=np111py27_0 16 | bitarray=0.8.1=py27_0 17 | blaze=0.10.1=py27_0 18 | bokeh=0.12.0=py27_0 19 | boto=2.40.0=py27_0 20 | bottleneck=1.1.0=np111py27_0 21 | cairo=1.12.18=6 22 | cdecimal=2.3=py27_2 23 | cffi=1.6.0=py27_0 24 | chest=0.2.3=py27_0 25 | click=6.6=py27_0 26 | cloudpickle=0.2.1=py27_0 27 | clyent=1.2.2=py27_0 28 | colorama=0.3.7=py27_0 29 | configobj=5.0.6=py27_0 30 | configparser=3.5.0b2=py27_1 31 | contextlib2=0.5.3=py27_0 32 | cryptography=1.4=py27_0 33 | cudatoolkit=7.5=0 34 | curl=7.49.0=0 35 | cycler=0.10.0=py27_0 36 | cython=0.24=py27_0 37 | cytoolz=0.8.0=py27_0 38 | dask=0.10.0=py27_0 39 | datashape=0.5.2=py27_0 40 | decorator=4.0.10=py27_0 41 | dill=0.2.5=py27_0 42 | docutils=0.12=py27_2 43 | dynd-python=0.7.2=py27_0 44 | entrypoints=0.2.2=py27_0 45 | enum34=1.1.6=py27_0 46 | et_xmlfile=1.0.1=py27_0 47 | fastcache=1.0.2=py27_1 48 | flask=0.11.1=py27_0 49 | flask-cors=2.1.2=py27_0 50 | fontconfig=2.11.1=6 51 | freetype=2.5.5=1 52 | funcsigs=1.0.2=py27_0 53 | functools32=3.2.3.2=py27_0 54 | futures=3.0.5=py27_0 55 | get_terminal_size=1.0.0=py27_0 56 | gevent=1.1.1=py27_0 57 | greenlet=0.4.10=py27_0 58 | grin=1.2.1=py27_3 59 | h5py=2.6.0=np111py27_2 60 | hdf5=1.8.17=1 61 | heapdict=1.0.0=py27_1 62 | idna=2.1=py27_0 63 | imagesize=0.7.1=py27_0 64 | ipaddress=1.0.16=py27_0 65 | ipykernel=4.3.1=py27_0 66 | ipython=4.2.0=py27_0 67 | ipython_genutils=0.1.0=py27_0 68 | ipywidgets=4.1.1=py27_0 69 | itsdangerous=0.24=py27_0 70 | jbig=2.1=0 71 | jdcal=1.2=py27_1 72 | jedi=0.9.0=py27_1 73 | jinja2=2.8=py27_1 74 | jpeg=8d=1 75 | jsonschema=2.5.1=py27_0 76 | jupyter=1.0.0=py27_3 77 | jupyter_client=4.3.0=py27_0 78 | jupyter_console=4.1.1=py27_0 79 | jupyter_core=4.1.0=py27_0 80 | libdynd=0.7.2=0 81 | libffi=3.2.1=0 82 | libgfortran=3.0.0=1 83 | libpng=1.6.22=0 84 | libsodium=1.0.10=0 85 | libtiff=4.0.6=2 86 | libxml2=2.9.2=0 87 | libxslt=1.1.28=0 88 | llvmlite=0.11.0=py27_0 89 | locket=0.2.0=py27_1 90 | lxml=3.6.0=py27_0 91 | markupsafe=0.23=py27_2 92 | matplotlib=1.5.1=np111py27_0 93 | mistune=0.7.2=py27_0 94 | mkl=11.3.3=0 95 | mkl-service=1.1.2=py27_2 96 | mock=2.0.0=py27_0 97 | mpmath=0.19=py27_1 98 | multipledispatch=0.4.8=py27_0 99 | nb_anacondacloud=1.1.0=py27_0 100 | nb_conda=1.1.0=py27_0 101 | nb_conda_kernels=1.0.3=py27_0 102 | nbconvert=4.2.0=py27_0 103 | nbformat=4.0.1=py27_0 104 | nbpresent=3.0.2=py27_0 105 | networkx=1.11=py27_0 106 | nltk=3.2.1=py27_0 107 | nose=1.3.7=py27_1 108 | notebook=4.2.1=py27_0 109 | numba=0.26.0=np111py27_0 110 | numexpr=2.6.0=np111py27_0 111 | numpy=1.11.1=py27_0 112 | odo=0.5.0=py27_1 113 | openpyxl=2.3.2=py27_0 114 | openssl=1.0.2h=1 115 | pandas=0.18.1=np111py27_0 116 | partd=0.3.4=py27_0 117 | patchelf=0.9=0 118 | path.py=8.2.1=py27_0 119 | pathlib2=2.1.0=py27_0 120 | patsy=0.4.1=py27_0 121 | pbr=1.10.0=py27_0 122 | pep8=1.7.0=py27_0 123 | pexpect=4.0.1=py27_0 124 | pickleshare=0.7.2=py27_0 125 | pillow=3.2.0=py27_1 126 | pip=8.1.2=py27_0 127 | pixman=0.32.6=0 128 | ply=3.8=py27_0 129 | protobuf=3.0.0b2=py27_0 130 | psutil=4.3.0=py27_0 131 | ptyprocess=0.5.1=py27_0 132 | py=1.4.31=py27_0 133 | pyasn1=0.1.9=py27_0 134 | pycairo=1.10.0=py27_0 135 | pycosat=0.6.1=py27_1 136 | pycparser=2.14=py27_1 137 | pycrypto=2.6.1=py27_4 138 | pycurl=7.43.0=py27_0 139 | pydot-ng=1.0.0.15=py27_0 140 | pyflakes=1.2.3=py27_0 141 | pygments=2.1.3=py27_0 142 | pyopenssl=0.16.0=py27_0 143 | pyparsing=2.1.4=py27_0 144 | pyqt=4.11.4=py27_3 145 | pytables=3.2.3.1=np111py27_0 146 | pytest=2.9.2=py27_0 147 | python=2.7.12=1 148 | python-dateutil=2.5.3=py27_0 149 | pytz=2016.4=py27_0 150 | pyyaml=3.11=py27_4 151 | pyzmq=15.2.0=py27_1 152 | qt=4.8.7=3 153 | qtconsole=4.2.1=py27_0 154 | qtpy=1.0.2=py27_0 155 | readline=6.2=2 156 | redis=3.2.0=0 157 | redis-py=2.10.5=py27_0 158 | requests=2.10.0=py27_0 159 | rope=0.9.4=py27_1 160 | ruamel_yaml=0.11.7=py27_0 161 | scikit-image=0.12.3=np111py27_1 162 | scikit-learn=0.18=np111py27_0 163 | scipy=0.17.1=np111py27_1 164 | setuptools=23.0.0=py27_0 165 | simplegeneric=0.8.1=py27_1 166 | singledispatch=3.4.0.3=py27_0 167 | sip=4.16.9=py27_0 168 | six=1.10.0=py27_0 169 | snowballstemmer=1.2.1=py27_0 170 | sockjs-tornado=1.0.3=py27_0 171 | sphinx=1.4.1=py27_0 172 | sphinx_rtd_theme=0.1.9=py27_0 173 | spyder=2.3.9=py27_0 174 | sqlalchemy=1.0.13=py27_0 175 | sqlite=3.13.0=0 176 | ssl_match_hostname=3.4.0.2=py27_1 177 | statsmodels=0.6.1=np111py27_1 178 | sympy=1.0=py27_0 179 | tensorflow=0.10.0=py27_0 180 | terminado=0.6=py27_0 181 | tk=8.5.18=0 182 | toolz=0.8.0=py27_0 183 | tornado=4.3=py27_1 184 | traitlets=4.2.1=py27_0 185 | unicodecsv=0.14.1=py27_0 186 | werkzeug=0.11.10=py27_0 187 | wheel=0.29.0=py27_0 188 | xlrd=1.0.0=py27_0 189 | xlsxwriter=0.9.2=py27_0 190 | xlwt=1.1.2=py27_0 191 | xz=5.2.2=0 192 | yaml=0.1.6=0 193 | zeromq=4.1.4=0 194 | zlib=1.2.8=3 195 | -------------------------------------------------------------------------------- /simulated_dat.csv: -------------------------------------------------------------------------------- 1 | e,hr,t,x 2 | 1,-0.20774812996387482,4.618640422821045,0.9458836317062378 3 | 1,-0.0915275290608406,2.599207639694214,0.6164073348045349 4 | 1,0.3241419494152069,2.6792237758636475,-0.13743333518505096 5 | 0,-0.11635351181030273,15.0,0.8941664099693298 6 | 1,-0.21039937436580658,2.2183589935302734,-0.9864655137062073 7 | 1,0.2572692930698395,0.3717786967754364,-0.029849296435713768 8 | 1,-0.11150652915239334,6.645811557769775,0.07700005173683167 9 | 1,0.3075163960456848,11.501904487609863,-0.057166654616594315 10 | 1,-0.14736369252204895,6.9857916831970215,-0.47033149003982544 11 | 1,-0.19191187620162964,0.3907356262207031,0.5521408319473267 12 | 1,-0.13906332850456238,6.422550678253174,0.8901035189628601 13 | 1,0.26390793919563293,0.8311488032341003,-0.3799648880958557 14 | 1,-0.1911960244178772,7.313601970672607,-0.6842181086540222 15 | 1,0.15938536822795868,0.223455548286438,-0.5001846551895142 16 | 1,-0.04277259483933449,3.221097469329834,-0.7678117156028748 17 | 1,-0.16372503340244293,0.031140688806772232,-0.9086228609085083 18 | 1,-0.11369641870260239,4.35508394241333,0.8534291386604309 19 | 1,0.3206576406955719,0.45867761969566345,0.29971978068351746 20 | 1,0.16602672636508942,0.08040042221546173,-0.12872764468193054 21 | 1,0.2030685842037201,8.190287590026855,-0.3205612003803253 22 | 1,0.03678993508219719,0.6726526021957397,-0.15693286061286926 23 | 1,0.35939857363700867,5.161909580230713,0.24418026208877563 24 | 1,-0.0065367803908884525,0.47191497683525085,-0.368972510099411 25 | 1,-0.1449340581893921,1.5560418367385864,0.8453665375709534 26 | 1,0.16347898542881012,5.301904678344727,-0.4991208612918854 27 | 1,0.06050202250480652,1.368593692779541,0.1976308673620224 28 | 1,0.3419678211212158,5.614670753479004,-0.08040287345647812 29 | 1,-0.16139543056488037,0.0953134149312973,-0.19706472754478455 30 | 1,0.1909114122390747,2.099137783050537,-0.24514971673488617 31 | 1,-0.1891288459300995,6.205154895782471,0.7367963790893555 32 | 1,-0.20168904960155487,13.40927791595459,0.9634619951248169 33 | 1,0.19693419337272644,1.3550536632537842,0.3535976707935333 34 | 1,-0.07384802401065826,4.154462814331055,0.8016563057899475 35 | 1,0.25134941935539246,1.61105215549469,-0.30557316541671753 36 | 1,0.25636160373687744,0.3832347095012665,-0.3668999969959259 37 | 1,-0.19373595714569092,1.4094771146774292,0.6674543619155884 38 | 1,0.30537253618240356,0.19910037517547607,-0.01967032067477703 39 | 0,-0.10992708802223206,15.0,0.6086236834526062 40 | 1,-0.14148442447185516,4.546700954437256,0.7466296553611755 41 | 1,-0.20222115516662598,1.685552716255188,0.995307207107544 42 | 1,0.03774811699986458,1.7399007081985474,0.6561276912689209 43 | 1,-0.1031636893749237,2.014296531677246,-0.005113507620990276 44 | 1,0.17074203491210938,6.062234878540039,-0.43839138746261597 45 | 1,-0.18170110881328583,0.6562535762786865,0.4982885718345642 46 | 1,-0.11752281337976456,1.48503577709198,-0.35164874792099 47 | 1,-0.07428552955389023,2.0029470920562744,0.6689759492874146 48 | 1,-0.18586839735507965,3.321331739425659,0.6219037175178528 49 | 1,-0.18223221600055695,3.9022161960601807,-0.8309741616249084 50 | 1,-0.07003525644540787,0.698772668838501,-0.7816644906997681 51 | 1,0.05368667095899582,6.635780334472656,0.5995305776596069 52 | 1,-0.16983024775981903,4.32146692276001,0.390023797750473 53 | 1,0.30279529094696045,2.4828522205352783,-0.31430932879447937 54 | 1,-0.008511283434927464,2.4386305809020996,-0.6286177635192871 55 | 1,-0.0398811511695385,3.9414706230163574,0.23197944462299347 56 | 1,0.1232822984457016,1.355228066444397,0.4708760678768158 57 | 1,-0.21150387823581696,0.23809489607810974,-0.9977509379386902 58 | 1,0.08763518184423447,1.9947247505187988,0.2156974822282791 59 | 1,-0.047540802508592606,0.6823654770851135,-0.2612990438938141 60 | 1,0.38139480352401733,0.4165283441543579,-0.16029298305511475 61 | 1,0.17696359753608704,10.661110877990723,0.0950394943356514 62 | 1,-0.13114383816719055,9.268575668334961,0.788483738899231 63 | 0,-0.12379544228315353,15.0,0.9024242758750916 64 | 1,-0.16635046899318695,11.226195335388184,0.9443584084510803 65 | 1,-0.09502381086349487,1.6055171489715576,0.4708780348300934 66 | 1,0.11372513324022293,14.442479133605957,-0.5449068546295166 67 | 1,-0.20726510882377625,5.8654046058654785,-0.9896793365478516 68 | 0,-0.09388583153486252,15.0,-0.8512194156646729 69 | 1,-0.0822361409664154,1.0271611213684082,0.30435410141944885 70 | 1,-0.21954940259456635,6.38090705871582,-0.8996709585189819 71 | 1,-0.127397820353508,0.4447610378265381,0.7303488254547119 72 | 1,0.021493254229426384,8.429224014282227,-0.5705124735832214 73 | 1,-0.1968914121389389,1.0001698732376099,-0.600113570690155 74 | 1,-0.12260280549526215,2.490145683288574,0.8635173439979553 75 | 1,-0.04703483358025551,0.18461120128631592,0.6541944742202759 76 | 1,-0.035008370876312256,0.6384320855140686,-0.2900027930736542 77 | 1,0.38061755895614624,3.7410941123962402,-0.03742923587560654 78 | 1,-0.20389528572559357,12.69448471069336,-0.8804364204406738 79 | 1,-0.11787620186805725,13.509020805358887,-0.8176243901252747 80 | 1,-0.14363421499729156,4.100809574127197,0.23183031380176544 81 | 1,-0.2210407257080078,6.603362560272217,-0.7810937762260437 82 | 1,0.06423486769199371,7.388176918029785,0.6217790842056274 83 | 1,-0.21163588762283325,4.272332668304443,0.7488757371902466 84 | 1,0.3435969948768616,2.1713149547576904,0.25168830156326294 85 | 1,0.3550228476524353,0.1522878259420395,-0.20940153300762177 86 | 1,0.1862497180700302,0.77242511510849,-0.42169350385665894 87 | 0,-0.11765267699956894,15.0,-0.19980858266353607 88 | 1,0.08547297865152359,5.747350692749023,0.3768824338912964 89 | 1,0.11596791446208954,4.769738674163818,0.17534999549388885 90 | 1,-0.1459791511297226,3.3757779598236084,0.30305761098861694 91 | 1,0.11385837942361832,0.6590063571929932,0.5154792070388794 92 | 1,-0.21596002578735352,1.853759765625,-0.7794930934906006 93 | 1,0.42666372656822205,4.712459087371826,-0.09072118252515793 94 | 1,0.26563236117362976,2.2016005516052246,-0.015008009970188141 95 | 1,-0.02592490054666996,0.2781536877155304,0.7445074319839478 96 | 1,0.28092533349990845,3.032569169998169,0.049932871013879776 97 | 1,-0.22293925285339355,2.6077327728271484,-0.8527512550354004 98 | 1,0.048706427216529846,9.804567337036133,-0.44380584359169006 99 | 1,-0.01958172768354416,3.632066488265991,0.25470906496047974 100 | 1,-0.1569383442401886,3.1174230575561523,0.9617639183998108 101 | 1,0.016452109441161156,2.1530954837799072,0.44357383251190186 102 | 1,0.21013608574867249,3.972360134124756,0.10318683832883835 103 | 1,0.41931164264678955,2.5185580253601074,0.06369757652282715 104 | 1,0.42264997959136963,2.0030462741851807,0.055626604706048965 105 | 1,-0.11120909452438354,1.9833130836486816,-0.6857782006263733 106 | 1,-0.11289937049150467,0.4763964116573334,-0.8785862922668457 107 | 1,0.34542176127433777,5.557285785675049,-0.13630661368370056 108 | 1,0.12193778157234192,1.296405553817749,-0.40319985151290894 109 | 1,-0.16833865642547607,6.706964015960693,0.67378169298172 110 | 1,0.04870391637086868,6.007461071014404,-0.5143430233001709 111 | 1,0.294259250164032,0.7832437753677368,-0.33128494024276733 112 | 1,0.3274959921836853,2.5873055458068848,-0.287060409784317 113 | 1,-0.1580086201429367,2.102382183074951,0.42847463488578796 114 | 1,0.2498118132352829,11.339615821838379,-0.3661665618419647 115 | 1,-0.015889795497059822,3.9750969409942627,0.4864009916782379 116 | 1,0.002045168774202466,0.32036882638931274,0.23581330478191376 117 | 1,0.10250518471002579,0.5806106925010681,-0.4159475564956665 118 | 1,-0.1280706822872162,4.361893177032471,-0.07796794921159744 119 | 1,-0.11836880445480347,1.7618014812469482,-0.31011301279067993 120 | 1,-0.040119096636772156,0.7533272504806519,-0.7552917003631592 121 | 1,-0.11953123658895493,1.5313026905059814,-0.8774638772010803 122 | 1,-0.14833992719650269,12.4404296875,0.38863977789878845 123 | 1,-0.19615349173545837,3.9227218627929688,-0.9836050868034363 124 | 1,0.15593163669109344,5.141162872314453,-0.49576860666275024 125 | 1,-0.2007000744342804,1.7747217416763306,0.9801666140556335 126 | 1,0.329118549823761,0.9111100435256958,0.0712088868021965 127 | 1,0.268523633480072,0.9621731638908386,-0.06869316846132278 128 | 1,0.10843750834465027,3.076183557510376,0.456758052110672 129 | 1,-0.07554765045642853,4.653957366943359,-0.447102427482605 130 | 1,-0.016884300857782364,12.579176902770996,0.3717268407344818 131 | 1,0.08815741539001465,2.755544900894165,-0.3293069005012512 132 | 1,0.18886548280715942,11.49057674407959,-0.4680165946483612 133 | 1,0.06245102733373642,8.845427513122559,0.6214281916618347 134 | 1,-0.08296801894903183,0.22751054167747498,-0.08985380083322525 135 | 1,-0.15176193416118622,5.093744277954102,-0.9702920913696289 136 | 1,-0.07615920156240463,8.585760116577148,0.22526153922080994 137 | 1,-0.05162057280540466,11.126124382019043,0.5273240804672241 138 | 1,-0.16184686124324799,4.803847312927246,0.35328009724617004 139 | 1,-0.1889674812555313,7.096378803253174,0.8282518982887268 140 | 1,-0.20076429843902588,1.7012715339660645,0.6738431453704834 141 | 1,0.17401817440986633,0.1570943146944046,-0.14532166719436646 142 | 1,0.1689140796661377,0.31339192390441895,0.27189919352531433 143 | 1,0.10998028516769409,11.236084938049316,-0.34632667899131775 144 | 1,-0.0153333880007267,0.7426565289497375,-0.0550471730530262 145 | 1,0.1563825011253357,2.1279618740081787,0.3456878066062927 146 | 1,0.4056217670440674,2.670536756515503,0.15202447772026062 147 | 1,-0.019441435113549232,2.0181171894073486,-0.6855770945549011 148 | 1,-0.17573514580726624,13.415696144104004,-0.3852880597114563 149 | 1,-0.07890603691339493,9.4445161819458,-0.10858246684074402 150 | 1,-0.17223945260047913,12.694999694824219,-0.31984907388687134 151 | 1,0.12682104110717773,1.7382211685180664,0.5451198816299438 152 | 1,-0.0822506695985794,2.6219749450683594,-0.14446434378623962 153 | 1,-0.04879780858755112,2.766960382461548,0.3841390907764435 154 | 1,-0.10883747786283493,3.828136920928955,0.8358890414237976 155 | 0,-0.05354111269116402,15.0,0.5217928290367126 156 | 1,-0.19527019560337067,4.848165988922119,0.9936108589172363 157 | 1,-0.004778089467436075,11.895893096923828,-0.22224834561347961 158 | 1,0.14059363305568695,4.734217166900635,-0.2108592838048935 159 | 1,-0.0201579537242651,3.4912302494049072,0.6749037504196167 160 | 1,0.15091027319431305,6.19978666305542,0.2543345093727112 161 | 1,-0.1613338738679886,5.573947906494141,-0.5391485691070557 162 | 1,-0.1628705859184265,13.07623291015625,-0.8398392796516418 163 | 1,-0.13190485537052155,1.996468186378479,0.25880178809165955 164 | 1,-0.08552965521812439,0.5435662865638733,-0.8066518306732178 165 | 1,0.024909839034080505,1.4558520317077637,-0.6722608804702759 166 | 1,-0.19673462212085724,0.40452271699905396,0.9565441012382507 167 | 1,0.17612949013710022,1.2530041933059692,0.46832892298698425 168 | 1,-0.08215269446372986,0.8295290470123291,0.5576145648956299 169 | 1,-0.15617556869983673,0.33931034803390503,0.2043425291776657 170 | 1,-0.164981871843338,1.009377360343933,-0.944624125957489 171 | 1,-0.05147925019264221,1.388323187828064,-0.2873087525367737 172 | 1,-0.17844964563846588,6.578213691711426,-0.42030471563339233 173 | 1,0.22108832001686096,14.484373092651367,-0.3031495213508606 174 | 1,0.25745150446891785,3.4623236656188965,0.30401697754859924 175 | 1,0.25476890802383423,10.64877700805664,0.07537488639354706 176 | 1,0.3117941915988922,1.3017116785049438,0.20846621692180634 177 | 1,-0.2053828239440918,3.1528334617614746,-0.8621257543563843 178 | 1,0.10910169035196304,9.262848854064941,-0.46676310896873474 179 | 1,-0.22202280163764954,5.083022117614746,0.8197903633117676 180 | 1,0.1646927148103714,3.1730973720550537,0.23930303752422333 181 | 1,0.2717854678630829,7.584919452667236,-0.3512569069862366 182 | 1,-0.22594791650772095,8.629037857055664,-0.7825726270675659 183 | 1,-0.08369624614715576,0.21126966178417206,-0.6378903985023499 184 | 1,-0.09995850175619125,5.222278118133545,-0.4131443202495575 185 | 1,-0.0022091944701969624,0.6465021967887878,0.6538140773773193 186 | 1,0.41807347536087036,6.271010875701904,-0.0832444280385971 187 | 1,-0.09551366418600082,2.197483777999878,0.44157344102859497 188 | 1,0.1580028235912323,0.6001917123794556,0.48719149827957153 189 | 0,-0.1754869967699051,15.0,-0.5809524655342102 190 | 1,-0.1965109407901764,11.810830116271973,-0.6834177374839783 191 | 1,-0.13471460342407227,0.23153047263622284,-0.26781776547431946 192 | 1,0.2784363925457001,8.06216812133789,-0.3184281587600708 193 | 1,0.3444092571735382,1.5632039308547974,0.07090160995721817 194 | 1,0.08865919709205627,10.325743675231934,0.38503602147102356 195 | 1,-0.10461152344942093,2.541870355606079,0.7845756411552429 196 | 1,-0.1414518654346466,0.8062573671340942,-0.9082242250442505 197 | 1,-0.08482494950294495,3.1765658855438232,-0.49060705304145813 198 | 1,-0.15654872357845306,2.4892773628234863,-0.8426140546798706 199 | 1,0.22788120806217194,0.9729525446891785,0.3846281170845032 200 | 1,0.17780287563800812,0.0021588269155472517,0.2937096357345581 201 | 1,0.38885486125946045,8.425525665283203,0.1568787544965744 202 | 1,0.2316984087228775,0.9614213109016418,0.1318812370300293 203 | 1,-0.10672354698181152,4.532479286193848,0.41447409987449646 204 | 1,0.0775270089507103,1.1952600479125977,-0.5427670478820801 205 | 1,-0.030066335573792458,11.833247184753418,0.16175131499767303 206 | 1,-0.04038809984922409,5.048098087310791,0.6745942234992981 207 | 1,0.27056804299354553,0.9969660043716431,0.023037636652588844 208 | 1,-0.04481722414493561,1.2752232551574707,0.15096384286880493 209 | 1,-0.1930883228778839,3.793485641479492,0.7876757383346558 210 | 1,-0.1269010305404663,1.0908024311065674,0.05308079719543457 211 | 1,-0.21662093698978424,4.237458229064941,0.905827522277832 212 | 1,-0.14395955204963684,2.646636724472046,0.9233751893043518 213 | 1,-0.14920128881931305,13.609275817871094,-0.8828201293945312 214 | 1,0.11959268897771835,7.429377555847168,-0.2288224697113037 215 | 1,0.39092016220092773,7.993426322937012,-0.1344202756881714 216 | 1,0.12997403740882874,0.7416752576828003,-0.04596816375851631 217 | 1,0.10907650738954544,2.6527111530303955,-0.20278872549533844 218 | 1,0.4180135726928711,0.6748286485671997,-0.01505922432988882 219 | 1,0.31530526280403137,12.628718376159668,-0.3122555613517761 220 | 1,0.10579168796539307,7.631953716278076,-0.39914825558662415 221 | 1,-0.1859242171049118,5.688882350921631,-0.5089326500892639 222 | 1,-0.24123390018939972,11.934453010559082,0.9999417066574097 223 | 1,0.38257771730422974,8.303537368774414,-0.20203758776187897 224 | 1,-0.1315261721611023,0.6018357872962952,-0.7924649715423584 225 | 1,0.12955747544765472,9.809469223022461,0.21070438623428345 226 | 1,-0.21805839240550995,3.532986879348755,-0.7942590117454529 227 | 1,-0.04303694888949394,1.0944029092788696,-0.11497388780117035 228 | 1,0.19670303165912628,13.99248218536377,-0.43688255548477173 229 | 1,-0.08424193412065506,0.3801177740097046,0.8344182372093201 230 | 1,-0.021192431449890137,1.3327518701553345,-0.09695930778980255 231 | 1,-0.12464012950658798,0.14978528022766113,0.701004147529602 232 | 1,-0.11487630754709244,0.704018771648407,0.34525948762893677 233 | 1,0.07124479860067368,14.247567176818848,-0.5581978559494019 234 | 1,0.06891026347875595,4.549266815185547,-0.4772104322910309 235 | 1,0.03102581761777401,2.11574125289917,0.5959174036979675 236 | 1,-0.11257918179035187,8.909331321716309,0.16338613629341125 237 | 1,-0.08688021451234818,2.7405850887298584,-0.536298930644989 238 | 1,-0.20679618418216705,0.3587580621242523,0.7366346716880798 239 | 1,-0.17730556428432465,1.5336849689483643,0.32378944754600525 240 | 1,0.13469208776950836,2.148789405822754,0.02418685518205166 241 | 0,0.08831988275051117,15.0,0.40413346886634827 242 | 1,0.061265625059604645,4.8773345947265625,-0.6258461475372314 243 | 1,0.11919029802083969,1.3439698219299316,-0.4452599287033081 244 | 1,0.19655567407608032,4.0192131996154785,-0.3005431294441223 245 | 1,0.35075026750564575,4.1922526359558105,-0.06924281269311905 246 | 1,0.04605184122920036,9.324110984802246,-0.5058912038803101 247 | 1,0.26755285263061523,7.291468143463135,0.24290376901626587 248 | 1,-0.07251590490341187,12.172270774841309,-0.7706941962242126 249 | 1,-0.1914152354001999,3.3284189701080322,-0.9861111640930176 250 | 1,-0.17316372692584991,3.2216975688934326,-0.43871742486953735 251 | 1,0.3914226293563843,0.25013467669487,0.174400195479393 252 | 1,0.2630116045475006,2.3945488929748535,-0.37742501497268677 253 | 1,-0.15450796484947205,3.883167266845703,0.14836566150188446 254 | 1,-0.07210047543048859,12.583818435668945,0.7372326850891113 255 | 1,-0.1535918414592743,7.017258644104004,-0.35992008447647095 256 | 1,0.26837098598480225,2.2448880672454834,0.01813364587724209 257 | 1,-0.10580866038799286,5.373884201049805,0.2374752312898636 258 | 1,-0.22554387152194977,4.177978038787842,0.7703737020492554 259 | 1,-0.21010836958885193,1.780116319656372,-0.8606834411621094 260 | 1,-0.18818293511867523,0.8649610877037048,-0.8193896412849426 261 | 1,-0.10861372202634811,3.1967642307281494,-0.6365197896957397 262 | 1,-0.13539214432239532,4.482031345367432,0.05813411995768547 263 | 1,0.411804735660553,2.099614381790161,0.13385586440563202 264 | 1,0.06657978147268295,4.721400260925293,-0.4260376989841461 265 | 1,-0.12479199469089508,1.628647804260254,-0.3829808831214905 266 | 1,-0.10830769687891006,1.2886468172073364,-0.5653385519981384 267 | 1,0.3607676029205322,0.6982467770576477,-0.2440132200717926 268 | 1,-0.01837598904967308,1.77736234664917,0.633753776550293 269 | 1,-0.181976780295372,1.5862228870391846,0.9285644292831421 270 | 0,0.22715790569782257,15.0,-0.004219492897391319 271 | 1,0.05237925797700882,6.253663539886475,0.06594707816839218 272 | 1,-0.023375578224658966,4.817636489868164,0.5628412961959839 273 | 1,0.37514621019363403,0.846606433391571,-0.21336771547794342 274 | 0,-0.18593233823776245,15.0,-0.7220032215118408 275 | 1,-0.089485764503479,2.1268112659454346,-0.012574478052556515 276 | 1,-0.00035934781772084534,6.675869941711426,0.6523745059967041 277 | 1,0.2388995736837387,1.504756212234497,0.4119986295700073 278 | 1,-0.1894899308681488,3.1128182411193848,-0.5618531703948975 279 | 1,-0.15424410998821259,6.284546852111816,-0.5731411576271057 280 | 1,-0.14024518430233002,3.4437096118927,0.6166355609893799 281 | 1,0.3174402117729187,0.24547551572322845,-0.10651613771915436 282 | 1,-0.15909667313098907,3.8368122577667236,-0.9854735136032104 283 | 1,-0.17913973331451416,3.945383310317993,-0.9589638710021973 284 | 1,0.023255815729498863,2.7405829429626465,0.5757485628128052 285 | 0,0.10991468280553818,15.0,0.5573506951332092 286 | 1,0.0015325449639931321,4.588011264801025,-0.32203778624534607 287 | 1,-0.10344398766756058,9.479503631591797,0.592943549156189 288 | 1,0.420099139213562,6.575753211975098,-0.11171963810920715 289 | 1,0.08073143661022186,1.667303442955017,-0.241572305560112 290 | 1,-0.17415475845336914,3.911086320877075,0.49622759222984314 291 | 1,-0.007573570590466261,3.231111764907837,-0.6251819729804993 292 | 1,-0.048733048141002655,4.533445835113525,0.6249492168426514 293 | 1,-0.07947611063718796,2.3468470573425293,0.10844852775335312 294 | 1,0.33252039551734924,9.816254615783691,-0.183295339345932 295 | 1,0.11230495572090149,1.3397629261016846,-0.5423439741134644 296 | 1,-0.21300126612186432,2.9457545280456543,0.9422751069068909 297 | 1,-0.11057322472333908,0.5017337799072266,0.47822943329811096 298 | 1,0.4030970633029938,5.536451816558838,0.14590075612068176 299 | 1,-0.028370102867484093,10.962786674499512,0.6077036261558533 300 | 1,-0.1513996720314026,6.2973246574401855,0.9574515223503113 301 | 1,-0.14650176465511322,2.8883779048919678,-0.7852890491485596 302 | 1,-0.1798015981912613,3.179835557937622,0.4735792577266693 303 | 1,0.051536791026592255,12.862451553344727,-0.35364556312561035 304 | 1,0.12299869954586029,10.746235847473145,0.13956472277641296 305 | 1,-0.19469520449638367,10.041519165039062,0.8093471527099609 306 | 1,0.21596091985702515,3.106508493423462,-0.007516935933381319 307 | 1,0.31016793847084045,1.5188158750534058,-0.2835594117641449 308 | 1,-0.059780851006507874,0.25979912281036377,0.40223151445388794 309 | 1,0.28036969900131226,3.010882616043091,-0.1495048701763153 310 | 1,-0.04865528270602226,2.5559241771698,0.3100106120109558 311 | 1,-0.20089693367481232,0.7635740637779236,-0.8644865155220032 312 | 1,-0.010205524042248726,2.2261602878570557,0.22205865383148193 313 | 1,0.09937354922294617,1.5351577997207642,-0.3486831784248352 314 | 1,-0.06005346029996872,0.722929060459137,-0.027106063440442085 315 | 1,-0.10962437838315964,0.6976999640464783,0.5793171525001526 316 | 1,0.06074092537164688,6.452098846435547,-0.44909608364105225 317 | 1,-0.141426682472229,3.817739963531494,-0.850908100605011 318 | 1,-0.061731819063425064,3.8813421726226807,-0.7188980579376221 319 | 1,-0.14203810691833496,0.2975452244281769,-0.9187867045402527 320 | 1,-0.17041802406311035,10.957793235778809,0.9484178423881531 321 | 0,-0.14263230562210083,15.0,0.7963705062866211 322 | 1,-0.150146946310997,11.019611358642578,0.35445237159729004 323 | 1,0.3826667368412018,8.137129783630371,-0.08377121388912201 324 | 1,-0.23193281888961792,2.83015775680542,-0.8734906911849976 325 | 1,-0.17468759417533875,2.057705879211426,0.45693764090538025 326 | 1,-0.17497248947620392,6.8605756759643555,-0.6144653558731079 327 | 1,-0.17649219930171967,2.003817558288574,0.5932080745697021 328 | 1,-0.12215149402618408,4.230993747711182,-0.8024289608001709 329 | 0,-0.1853434443473816,15.0,0.4297069311141968 330 | 1,-0.08989811688661575,3.2573680877685547,-0.2584141790866852 331 | 1,0.29269149899482727,6.670989990234375,0.24487929046154022 332 | 1,-0.17217420041561127,4.865418434143066,-0.9718160629272461 333 | 1,-0.15635284781455994,8.252232551574707,-0.6996890902519226 334 | 1,0.38581448793411255,5.340590953826904,0.1901213377714157 335 | 1,-0.06860227882862091,4.042319297790527,0.09555944055318832 336 | 1,-0.15193185210227966,0.7938104867935181,0.9731140732765198 337 | 1,-0.18142902851104736,9.294622421264648,0.5213360786437988 338 | 1,-0.22423623502254486,0.5034855008125305,-0.8370325565338135 339 | 1,-0.14958526194095612,6.143455982208252,-0.5496219992637634 340 | 1,-0.22706125676631927,0.6439114212989807,-0.9767287969589233 341 | 1,0.04624035954475403,1.5518689155578613,-0.29299041628837585 342 | 1,-0.18622061610221863,5.882368087768555,-0.9755373001098633 343 | 1,-0.16186578571796417,5.0734453201293945,-0.30724942684173584 344 | 1,-0.12484510987997055,0.8691856861114502,-0.45256954431533813 345 | 1,-0.15270638465881348,3.1370387077331543,-0.8860565423965454 346 | 1,-0.16557542979717255,5.067521572113037,-0.8152285218238831 347 | 1,0.25840145349502563,5.183573246002197,0.3533713221549988 348 | 1,0.07022435963153839,3.0038154125213623,-0.5594211220741272 349 | 1,-0.06881146878004074,5.19576358795166,-0.7521214485168457 350 | 1,-0.11573657393455505,3.671304941177368,-0.8584356307983398 351 | 1,-0.2111547440290451,1.5129637718200684,-0.7844470143318176 352 | 1,-0.15554916858673096,0.29830965399742126,0.7160729169845581 353 | 1,0.1890678107738495,2.9730336666107178,0.15525706112384796 354 | 1,-0.191917285323143,0.5238292813301086,-0.6854128837585449 355 | 1,-0.18130972981452942,0.8067173361778259,0.6382536292076111 356 | 1,-0.18592001497745514,1.0338066816329956,0.9053900837898254 357 | 1,-0.1665370911359787,2.898638963699341,0.931628406047821 358 | 1,0.03889045864343643,1.2773231267929077,-0.3433462977409363 359 | 1,0.03229758143424988,1.0241953134536743,-0.6404945254325867 360 | 1,0.40832799673080444,1.9187613725662231,-0.021911166608333588 361 | 1,0.1400160938501358,6.6923441886901855,0.33141329884529114 362 | 1,-0.20723411440849304,14.9791841506958,-0.7466387748718262 363 | 1,-0.027059178799390793,6.508504390716553,-0.7369933724403381 364 | 1,0.07185345143079758,0.9061555862426758,-0.3733428418636322 365 | 1,0.19807782769203186,1.565840721130371,0.4582230746746063 366 | 1,0.16702057421207428,5.857471942901611,-0.006894942373037338 367 | 1,-0.1906045377254486,1.0441299676895142,-0.5403794050216675 368 | 1,-0.13059018552303314,1.8623908758163452,-0.9220445156097412 369 | 1,-0.14521172642707825,0.1306208372116089,0.6919267177581787 370 | 1,-0.10034580528736115,11.750069618225098,-0.7046651840209961 371 | 1,0.07880458980798721,2.0199973583221436,0.5081828832626343 372 | 1,0.009654879570007324,7.150458335876465,0.5922591686248779 373 | 1,0.2015608549118042,2.7730891704559326,-0.4457690417766571 374 | 1,-0.0814656987786293,2.5301406383514404,-0.13253411650657654 375 | 1,0.025655776262283325,2.9013352394104004,0.6350802183151245 376 | 1,-0.08945103734731674,0.4705033302307129,0.7391964793205261 377 | 1,-0.1776019036769867,1.030949354171753,-0.8920941352844238 378 | 1,0.3213980793952942,1.3413928747177124,0.25051349401474 379 | 1,-0.09030845016241074,5.0895185470581055,-0.06579568982124329 380 | 1,-0.19391684234142303,5.873644828796387,-0.8488856554031372 381 | 1,-0.2185916155576706,3.5691232681274414,-0.8538868427276611 382 | 1,-0.005443916656076908,1.1568303108215332,0.0383661687374115 383 | 1,0.24665376543998718,8.305120468139648,-0.10166380554437637 384 | 1,0.277902215719223,5.458057880401611,-0.07612626999616623 385 | 1,-0.2201979011297226,0.9638127684593201,0.9326846599578857 386 | 1,-0.1594761461019516,6.648380279541016,-0.2447301745414734 387 | 1,0.3279288411140442,4.7565107345581055,0.08399489521980286 388 | 1,-0.2085815817117691,8.281258583068848,0.743044912815094 389 | 1,0.12196984887123108,0.6955568790435791,-0.3303956985473633 390 | 1,0.11969135701656342,0.2461421936750412,-0.2872288227081299 391 | 1,-0.0376264788210392,3.775954246520996,0.7495478987693787 392 | 1,0.2935201823711395,0.536516547203064,-0.11433311551809311 393 | 1,0.20529524981975555,6.505035400390625,0.05816362425684929 394 | 1,0.01440141350030899,3.0747227668762207,0.6853896379470825 395 | 1,-0.0935898944735527,1.699106216430664,0.8193531632423401 396 | 1,-0.1597897708415985,5.4496636390686035,0.9871829748153687 397 | 1,0.24684903025627136,0.8250361084938049,-0.051320381462574005 398 | 1,-0.2106749564409256,3.120527982711792,0.8462969064712524 399 | 1,0.1545882672071457,7.29530668258667,-0.5108049511909485 400 | 0,-0.030691731721162796,15.0,0.45114707946777344 401 | 1,-0.004637435544282198,3.1697192192077637,-0.5251584053039551 402 | 1,-0.23128606379032135,3.694523811340332,-0.9024763703346252 403 | 1,-0.21481622755527496,2.719386100769043,0.9356740713119507 404 | 1,-0.12820599973201752,1.6778843402862549,-0.40825825929641724 405 | 1,-0.20714594423770905,0.5941716432571411,0.6991137266159058 406 | 1,0.42748934030532837,0.8350629210472107,0.08449306339025497 407 | 1,0.348637193441391,4.922898292541504,0.2438788264989853 408 | 1,0.02771035023033619,12.01186752319336,-0.2686399519443512 409 | 1,0.39615127444267273,0.8203705549240112,-0.0211349967867136 410 | 1,0.016723884269595146,1.403304100036621,0.644647479057312 411 | 1,-0.06881850212812424,6.293476581573486,0.09682103991508484 412 | 1,-0.22666840255260468,6.3407697677612305,-0.8525311350822449 413 | 1,0.18488743901252747,0.5887411236763,-0.10467839241027832 414 | 0,0.11579588800668716,15.0,0.5286235809326172 415 | 1,-0.17582711577415466,2.2601823806762695,0.5324656367301941 416 | 1,-0.05486037954688072,12.177898406982422,-0.29106178879737854 417 | 1,-0.20420952141284943,3.844475746154785,0.9009675979614258 418 | 1,-0.04620254412293434,1.4637045860290527,0.33534491062164307 419 | 1,0.188984677195549,0.6666667461395264,0.38711637258529663 420 | 1,-0.04986732825636864,2.306255578994751,-0.7481262683868408 421 | 1,0.09947801381349564,5.44533109664917,0.5797684192657471 422 | 0,0.30583152174949646,15.0,0.1554042398929596 423 | 0,0.023270422592759132,15.0,0.4417615830898285 424 | 1,0.12243857234716415,7.740067958831787,-0.5433607697486877 425 | 1,0.013981727883219719,1.345319390296936,0.6288170218467712 426 | 1,-0.18081633746623993,2.6209158897399902,0.89617919921875 427 | 1,0.146678164601326,3.806173086166382,0.31445345282554626 428 | 1,-0.16163432598114014,0.43403053283691406,0.9580193161964417 429 | 1,-0.1797814667224884,4.440556526184082,0.9789804220199585 430 | 1,-0.11986322700977325,1.4132344722747803,0.8614597320556641 431 | 1,0.34042829275131226,2.2374322414398193,0.2722826898097992 432 | 1,0.12199234217405319,1.6155797243118286,0.5286608934402466 433 | 1,0.3027816712856293,7.438930988311768,0.28981927037239075 434 | 1,0.0013540819054469466,5.788580894470215,0.653562605381012 435 | 1,-0.017324762418866158,4.774555683135986,-0.5693423748016357 436 | 1,-0.22598488628864288,11.474331855773926,0.8003917336463928 437 | 0,-0.14307759702205658,15.0,0.7485679984092712 438 | 1,-0.07682007551193237,3.982999801635742,-0.7037860155105591 439 | 1,-0.08859860152006149,3.6683011054992676,-0.532636821269989 440 | 1,0.04791395366191864,9.502245903015137,0.13278363645076752 441 | 1,0.07418128103017807,2.6873879432678223,0.20068983733654022 442 | 1,-0.11922669410705566,11.310381889343262,-0.8390817046165466 443 | 1,-0.2057051658630371,0.7073081135749817,0.9386558532714844 444 | 1,0.1454669088125229,0.05469221621751785,-0.08941058069467545 445 | 1,-0.09026776254177094,4.043596267700195,0.004857894964516163 446 | 1,-0.15742531418800354,14.165115356445312,-0.13725747168064117 447 | 0,-0.2359621822834015,15.0,0.9827984571456909 448 | 1,0.4263482689857483,0.15728406608104706,0.009625964798033237 449 | 1,-0.09905777871608734,3.227945566177368,-0.28964173793792725 450 | 1,0.3222680687904358,1.6224621534347534,-0.29681074619293213 451 | 0,0.25688469409942627,15.0,-0.3671659827232361 452 | 1,0.007792727556079626,4.30607271194458,0.6375672817230225 453 | 1,-0.028790581971406937,2.0671799182891846,0.7480795383453369 454 | 1,0.07333378493785858,0.12023190408945084,-0.5914749503135681 455 | 1,0.29933956265449524,0.6433889269828796,0.29476258158683777 456 | 1,-0.23404374718666077,8.272934913635254,0.9759735465049744 457 | 1,-0.17908361554145813,5.26240873336792,-0.8955588936805725 458 | 1,0.12326385825872421,2.600804567337036,0.5344821810722351 459 | 1,0.08401678502559662,3.146888017654419,-0.5726701021194458 460 | 1,-0.1348762810230255,7.787793159484863,0.4514785408973694 461 | 1,-0.13540011644363403,13.744590759277344,-0.32858648896217346 462 | 1,0.22076839208602905,2.5259463787078857,0.43439817428588867 463 | 1,-0.19803786277770996,13.461808204650879,0.9374885559082031 464 | 1,-0.11661556363105774,1.2766525745391846,-0.8538098931312561 465 | 0,0.0655565932393074,15.0,0.3242975175380707 466 | 1,-0.14455945789813995,0.06489942222833633,-0.9567668437957764 467 | 1,-0.14097031950950623,1.9779207706451416,-0.893028974533081 468 | 1,-0.06125259026885033,0.19838842749595642,0.5624852180480957 469 | 1,-0.00124689273070544,1.4041916131973267,0.6955351829528809 470 | 1,-0.2096804976463318,8.5120267868042,-0.8312490582466125 471 | 1,-0.05531372129917145,4.057531833648682,-0.7816504836082458 472 | 1,-0.17843009531497955,8.258176803588867,-0.6111618876457214 473 | 1,-0.21476878225803375,1.3466280698776245,0.7246633768081665 474 | 0,-0.20193998515605927,15.0,-0.6420947313308716 475 | 1,-0.20286588370800018,5.4005513191223145,0.682517409324646 476 | 1,-0.14700725674629211,12.224206924438477,-0.8845680356025696 477 | 1,-0.07730242609977722,3.7518510818481445,0.3690643906593323 478 | 1,-0.0821571946144104,0.17167657613754272,0.31608569622039795 479 | 1,-0.17974895238876343,3.5036418437957764,-0.9828792214393616 480 | 1,-0.17261484265327454,6.273276329040527,0.32323330640792847 481 | 1,0.15639325976371765,0.9280773401260376,0.2506691813468933 482 | 1,-0.19342772662639618,2.0445563793182373,0.5862414240837097 483 | 1,-0.08875372260808945,1.8803932666778564,-0.8286016583442688 484 | 1,0.05387480556964874,6.688452243804932,-0.21742558479309082 485 | 1,-0.06524261087179184,9.933268547058105,0.47368526458740234 486 | 1,0.3287528455257416,3.224024534225464,0.02265593782067299 487 | 1,-0.08631259948015213,3.341001272201538,0.09248596429824829 488 | 1,-0.1763116717338562,5.520664215087891,-0.3177345097064972 489 | 1,0.04330962896347046,2.5225348472595215,0.41384533047676086 490 | 1,-0.19760139286518097,4.864097595214844,0.697648823261261 491 | 1,-0.08194810152053833,3.5901389122009277,-0.35071730613708496 492 | 1,-0.19747304916381836,0.448021799325943,0.9992741942405701 493 | 1,-0.11476210504770279,0.8614044189453125,-0.47435063123703003 494 | 1,0.3753049075603485,12.19913101196289,0.09000793099403381 495 | 1,0.14675065875053406,5.565864086151123,0.38959842920303345 496 | 1,-0.053613271564245224,0.5792206525802612,0.6933946013450623 497 | 1,-0.000998838571831584,1.2601261138916016,-0.4134098291397095 498 | 1,-0.08021397888660431,1.5731087923049927,0.5654559135437012 499 | 1,-0.16110482811927795,7.214155673980713,-0.9989663362503052 500 | 1,0.01373787596821785,12.483606338500977,0.6862415671348572 501 | 1,0.26004621386528015,2.636084794998169,0.3779636323451996 502 | -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491537118.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491537118.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491537301.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491537301.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491537396.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491537396.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491539517.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491539517.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491539725.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491539725.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491539757.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491539757.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1491602749.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1491602749.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1492146544.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1492146544.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1492148264.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1492148264.cogsbox -------------------------------------------------------------------------------- /summary_logs/events.out.tfevents.1492148270.cogsbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexhallam/TensorFlow-Survival-Analysis/b1b07eacdc7349e99a8457dde54bc545e5c5a360/summary_logs/events.out.tfevents.1492148270.cogsbox --------------------------------------------------------------------------------