TODO 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. TODO
  2. Helper functions.
  3. use this to map the image cutting directly into the model: https://stackoverflow.com/questions/64326029/load-tensorflow-images-and-create-patches
  4. ROC/auc curve stuff
  5. k folds loop wrapped around the whole program basically.
  6. Clean up the code to merge to main
  7. Fix background / foreground accuracy thing. The model currently marks background as true and checks accuracy from that instead of looking at the text.
  8. memory size errors -- Use the skimage library to convert images
  9. Split program into three parts-- gather images, train, and evaluate. Make each able to run independently or through use of a superscript.
  10. use jaccard / dice for training accuracy?
  11. use library to make running on windows easier. \ /
  12. Read more papers.
  13. Test batch size. I notice a difference is small tests, but wtf is it actually. I wouldn't expect this to have any effect at all.
  14. make a baseline network and code to run it. (I've got the network in the baseline form that I want; I just don't have the code to analyze it yet.
  15. confusion matrix
  16. Data augmentation -- random rotations, overlap the test squares, etc.
  17. Data Augmentation -- my generation idea - check generated data against original and delete if too similar to the original image
  18. roc curve
  19. color pixels -- mask correct / incorrect pixel output in green / red
  20. Try smaller squares -- Do a square size test after I have baseline model to work with
  21. Adapt square size to text size? Is it possible?
  22. test depth of the u-net
  23. comparisons to other networks of other people.
  24. Add all years
  25. confusion matrix
  26. k folds
  27. Print runtime to a file.
  28. Add ability to start from saved model so I don't take all day to test evry tiny change.
  29. save image slice indexes when cutting up images for stitching back together purposes.
  30. !!! Use scikit-images built in functions to convert image types !!!
  31. https://scikit-image.org/docs/dev/user_guide/data_types.html
  32. "You should never use astype on an image, because it violates these assumptions about the dtype range:"
  33. Converting all my float images to uint8 should give me 4 times more memory to work with on GPU
  34. Use jaccard and dice to estimate veracity.
  35. Add jaccard and dice as functions to use during training.
  36. Add nicer output of the four images for easier viewing.
  37. Remove global variables; replace with function passing? how will that work with loading a model? if loading model, skip the import steps; add command line flag to load model.
  38. Add function to start program using a saved model and saved images.
  39. Invert all images after the final outputs are saved to disk. This way you don't mess up any of the intermediate code.
  40. -- nice later stuff
  41. Make a GUI to run tests easier. There could be radio buttons for each of the valid flags and a switch for starting fom a saved model. The switch could open a separate tab or something. There could be a built in console readout. I've done a bit of python gtk so it shouldn't be too difficult to hack something together.
  42. Use os independent code for the file management. like os.path.join() etc
  43. Investigate training on rectangles?