Guest User

Untitled

a guest
Dec 6th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. public DataSetIterator readData(int bacthSize,boolean train){
  2. int dataLenght = 10;
  3. int[] dataGameStep = new int[dataLenght];
  4. int[][][] boardGameSet = new int[23][23][35];
  5. int[] actionGameSet = new int[20];
  6. double[][][][] data_storage = new double[10][23][23][35];
  7. int[][][][] temp_data = new int[10][23][23][25];
  8. int[][] temp_action = new int[10][20];
  9. int dataset_game_lenght_id = -1;
  10. int dataset_board_id = -1;
  11. int dataset_action_id = -1;
  12. int file_id = -1;
  13. ArrayList<INDArray> collectedINDArrayBoard = new ArrayList<>();
  14. ArrayList<INDArray> collectedINDArrayLabel = new ArrayList<>();
  15. INDArray totalInput;
  16. INDArray totalLabel;
  17. DataSet dataSet = null;
  18. try {
  19. if(file_id < 0){
  20. if(train){
  21. file_id = H5.H5Fopen("train.h5", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
  22. }else{
  23. file_id = H5.H5Fopen("test.h5", HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
  24. }
  25. }
  26. }
  27. catch (Exception e) {
  28. e.printStackTrace();
  29. }
  30. // Open a Group of game step from specific game number
  31. try{
  32. if(file_id >= 0){
  33. dataset_game_lenght_id = H5.H5Dopen(file_id,"/GAME_ROUND_INFO",
  34. HDF5Constants.H5P_DEFAULT);
  35. H5.H5Dread(dataset_game_lenght_id, HDF5Constants.H5T_NATIVE_INT,
  36. HDF5Constants.H5S_ALL,HDF5Constants.H5S_ALL,
  37. HDF5Constants.H5P_DEFAULT, dataGameStep);
  38. H5.H5Dclose(dataset_game_lenght_id);
  39. for(int i = 0; i < dataLenght; i++){
  40. for(int j=1; j < dataGameStep[i]; j++){
  41. String path_boad = "GameNum_"+i+"_GameStep_"+j+"_"+"DATASET_BOARD_INFO";
  42. dataset_board_id = H5.H5Dopen(file_id,path_boad,HDF5Constants.H5P_DEFAULT);
  43. H5.H5Dread(dataset_board_id, HDF5Constants.H5T_NATIVE_INT,
  44. HDF5Constants.H5S_ALL,HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT,
  45. boardGameSet);
  46. String path_action = "GameNum_"+i+"_GameStep_"+j+"_"+"DATASET_ACTION_INFO";
  47. dataset_action_id = H5.H5Dopen(file_id,path_action,HDF5Constants.H5P_DEFAULT);
  48. H5.H5Dread(dataset_action_id, HDF5Constants.H5T_NATIVE_INT,HDF5Constants.H5S_ALL,
  49. HDF5Constants.H5S_ALL,HDF5Constants.H5P_DEFAULT, actionGameSet);
  50.  
  51. INDArray input = converBoardDataToNDArray(boardGameSet);
  52. INDArray label = coverActionDataToINDArray(actionGameSet);
  53. collectedINDArrayBoard.add(input);
  54. collectedINDArrayLabel.add(label);
  55. H5.H5Dclose(dataset_board_id);
  56. H5.H5Dclose(dataset_action_id);
  57.  
  58. }
  59. }
  60. H5.H5Fclose(file_id);
  61. System.out.println(collectedINDArrayBoard.get(0).rank());
  62. totalInput = Nd4j.vstack(collectedINDArrayBoard);
  63. //System.out.println(totalInput.rank());
  64. totalLabel = Nd4j.vstack(collectedINDArrayLabel);
  65. System.out.println(collectedINDArrayLabel.get(0).rank());
  66. //System.out.println(totalLabel.rank());
  67. dataSet = new DataSet(totalInput,totalLabel);
  68. }
  69. }catch (Exception e) {
  70. e.printStackTrace();
  71. }
  72. return new ListDataSetIterator(dataSet.asList(),bacthSize);
  73. }
Add Comment
Please, Sign In to add comment