# Demo of Messager class. # run with: DEVICE_ID=1 python sample.py import os import time from clustermessaging.Messager import Messager m = Messager() def callback(message, name): print('Message Received from %s! %s' % (name, message)) if os.environ['DEVICE_ID'] == '2': print('registering callback') m.registerCallback(callback) else: print('sending message') m.sendMessage('2', 'hello, 2, i am %s' % m.getOwnName()) m.start()
for message in m.sync[i]: vector_sum = vector_sum + message['weights'] vector_sum = vector_sum[0] size = float(len(m.sync[i])) w = vector_sum * (1.0 / size) y_est = np.dot(X_test,w) error = mse(y_est,y_test) errors_per_iteration.append(error) it.append(i+1) writer.writerow((i,error)) requests.post(SERVER_URL + 'classifier_error/' + str(m.getOwnName()), data={'value': error}).text f.close() # Let's graph the error for this node plt.figure(0) plt.plot(it,errors_per_iteration,'b.',it,errors_per_iteration,'k-') plt.axis([min(it)-1, max(it) + 1, 0, math.ceil(max(errors_per_iteration))]) plt.xlabel('Number of Iterations') plt.ylabel('Error Percentage (Mean Squared Error)') plt.title('SVM Prediction Error for Node {0}'.format(ID)) plt.grid() plt.savefig("svm_plots/node_{0}_error_plot.png".format(ID),format="png",pad_inches=0.1)