You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

draw_datasize_vs_chunksize.py 2.6 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. Draw data size v.s. chunksize.
  5. Created on Mon Oct 8 12:00:45 2018
  6. @author: ljia
  7. """
  8. import numpy as np
  9. import matplotlib.pyplot as plt
  10. def loadmin(file):
  11. result = np.load(file)
  12. return np.argmin(result), np.min(result), result
  13. def idx2chunksize(idx):
  14. if idx < 9:
  15. return idx * 10 + 10
  16. elif idx < 18:
  17. return (idx - 8) * 100
  18. elif idx < 27:
  19. return (idx - 17) * 1000
  20. else:
  21. return (idx - 26) * 10000
  22. def idx2chunksize2(idx):
  23. if idx < 5:
  24. return idx * 20 + 10
  25. elif idx < 10:
  26. return (idx - 5) * 200 + 100
  27. elif idx < 15:
  28. return (idx - 10) * 2000 + 1000
  29. else:
  30. return (idx - 15) * 20000 * 10000
  31. idx, mrlt, rlt = loadmin('test_parallel/myria/ENZYMES.npy')
  32. csize = idx2chunksize2(idx)
  33. #dsize = np.array([183, 150, 68, 94, 188, 2250, 600])
  34. dsize = np.array([183, 150, 68, 94, 188, 2250])
  35. dsize = dsize * (dsize + 1) / 2
  36. #cs_sp_laptop = [900, 400, 70, 900, 2000, 8000, 300]
  37. #cs_sp_myria = [900, 500, 500, 300, 400, 4000, 300]
  38. cs_sp_laptop = [900, 400, 70, 900, 2000, 8000]
  39. cs_sp_myria = [900, 500, 500, 300, 400, 4000]
  40. cd_ssp_laptop = [500, 700, 500, 70, 3000, 3000]
  41. cd_ssp_myria = [100, 90, 700, 30, 3000, 5000]
  42. cs_sp_laptop = [x for _, x in sorted(zip(dsize, cs_sp_laptop))]
  43. cs_sp_myria = [x for _, x in sorted(zip(dsize, cs_sp_myria))]
  44. cd_ssp_laptop = [x for _, x in sorted(zip(dsize[0:6], cd_ssp_laptop))]
  45. cd_ssp_myria = [x for _, x in sorted(zip(dsize[0:6], cd_ssp_myria))]
  46. dsize.sort()
  47. cd_mean = np.mean([cs_sp_laptop[0:6], cs_sp_myria[0:6], cd_ssp_laptop, cd_ssp_myria],
  48. axis=0)
  49. #np.append(cd_mean, [6000])
  50. fig, ax = plt.subplots()
  51. ##p1 = ax.plot(dsize, cs_sp_laptop, 'o-', label='sp laptop')
  52. #p2 = ax.plot(dsize, cs_sp_myria, 'o-', label='sp CRIANN')
  53. ##p3 = ax.plot(dsize[0:6], cd_ssp_laptop, 'o-', label='ssp laptop')
  54. #p4 = ax.plot(dsize[0:6], cd_ssp_myria, 'o-', label='ssp CRIANN')
  55. #p5 = ax.plot(dsize[0:6], cd_mean, 'o-', label='mean')
  56. #p1 = ax.plot(dsize[0:5], cs_sp_laptop[0:5], 'o-', label='sp laptop')
  57. p2 = ax.plot(dsize[0:5], cs_sp_myria[0:5], 'o-', label='sp CRIANN')
  58. #p3 = ax.plot(dsize[0:5], cd_ssp_laptop[0:5], 'o-', label='ssp laptop')
  59. p4 = ax.plot(dsize[0:5], cd_ssp_myria[0:5], 'o-', label='ssp CRIANN')
  60. p5 = ax.plot(dsize[0:5], cd_mean[0:5], 'o-', label='mean')
  61. #ax.set_xscale('log', nonposx='clip')
  62. #ax.set_yscale('log', nonposy='clip')
  63. ax.set_xlabel('data sizes')
  64. ax.set_ylabel('chunksizes for the fastest computation')
  65. ax.legend(loc='upper left')
  66. plt.show()

A Python package for graph kernels, graph edit distances and graph pre-image problem.