falseu commited on
Commit
e4050d7
·
1 Parent(s): 1a779cb

update data

Browse files
Files changed (4) hide show
  1. README.md +4 -7
  2. test.py +11 -5
  3. test_interpolate.py +5 -2
  4. test_video.py +1 -1
README.md CHANGED
@@ -69,7 +69,7 @@ optional arguments:
69
 
70
  ### Test Image Interpolation Style Transfer
71
 
72
- To test style transfer interpolation, run the script test_interpolate.py. Specify `style_image` with multiple paths separated by comma. Specify `--interpolation_weights` to interpolate once. Specify `--grid_pth` to interpolate with different built-in weights.
73
 
74
  ```
75
  $ python test_interpolation.py --content_image $IMG --style_image $STYLE --decoder_weight $WEIGHT --cuda
@@ -88,12 +88,9 @@ optional arguments:
88
  Do not specify if input grid_pth.
89
  --cuda Use CUDA
90
  --grid_pth GRID_PTH
91
- Specify a grid image path (default=None) to perform interpolation style
92
-
93
- transfer multiple times with different built-in weights and generate a
94
-
95
- grid image that contains all style transferred images. Provide 4 style
96
-
97
  images. Do not specify if input interpolation_weights.
98
  ```
99
 
 
69
 
70
  ### Test Image Interpolation Style Transfer
71
 
72
+ To test style transfer interpolation, run the script test_interpolate.py. Specify `style_image` with multiple paths separated by comma. Specify `--interpolation_weights` to interpolate once. Specify `--grid_pth` to interpolate with different built-in weights and provide 4 style images.
73
 
74
  ```
75
  $ python test_interpolation.py --content_image $IMG --style_image $STYLE --decoder_weight $WEIGHT --cuda
 
88
  Do not specify if input grid_pth.
89
  --cuda Use CUDA
90
  --grid_pth GRID_PTH
91
+ Specify a grid image path (default=None) to perform interpolation style
92
+ transfer multiple times with different built-in weights and generate a
93
+ grid image that contains all style transferred images. Provide 4 style
 
 
 
94
  images. Do not specify if input interpolation_weights.
95
  ```
96
 
test.py CHANGED
@@ -16,7 +16,7 @@ parser.add_argument('--content_image', type=str, help='Content image file path')
16
  parser.add_argument('--content_dir', type=str, help='Content image folder path')
17
  parser.add_argument('--style_image', type=str, help='Style image file path')
18
  parser.add_argument('--style_dir', type=str, help='Content image folder path')
19
- parser.add_argument('--decoder_weight', type=str, required=True, help='Decoder weight file path')
20
  parser.add_argument('--alpha', type=float, default=1.0, choices=[Range(0.0, 1.0)], help='Alpha [0.0, 1.0] controls style transfer level')
21
  parser.add_argument('--cuda', action='store_true', help='Use CUDA')
22
  parser.add_argument('--grid_pth', type=str, default=None, help='Specify a grid image path (default=None) if generate a grid image that contains all style transferred images')
@@ -66,6 +66,9 @@ def main():
66
  else:
67
  style_pths = [Path(f) for f in glob(args.style_dir+'/*')]
68
 
 
 
 
69
  out_dir = './results/'
70
  os.makedirs(out_dir, exist_ok=True)
71
 
@@ -80,7 +83,7 @@ def main():
80
 
81
  # Prepare grid image
82
  if args.grid_pth:
83
- imgs = [np.zeros((1,1))]
84
  for style_pth in style_pths:
85
  imgs.append(Image.open(style_pth))
86
 
@@ -104,7 +107,7 @@ def main():
104
 
105
  toc = time.perf_counter() # End time
106
  print("Content: " + content_pth.stem + ". Style: " \
107
- + style_pth.stem + '. Style Transfer time: %.4f seconds' % (toc-tic))
108
  times.append(toc-tic)
109
 
110
  out_pth = out_dir + content_pth.stem + '_style_' + style_pth.stem + '_alpha' + str(args.alpha) + content_pth.suffix
@@ -113,8 +116,11 @@ def main():
113
  if args.grid_pth:
114
  imgs.append(Image.open(out_pth))
115
 
116
- avg = sum(times)/len(times)
117
- print("Average style transfer time: %.4f seconds" % (avg))
 
 
 
118
 
119
  if args.grid_pth:
120
  print("Generating grid image")
 
16
  parser.add_argument('--content_dir', type=str, help='Content image folder path')
17
  parser.add_argument('--style_image', type=str, help='Style image file path')
18
  parser.add_argument('--style_dir', type=str, help='Content image folder path')
19
+ parser.add_argument('--decoder_weight', type=str, default='decoder.pth', help='Decoder weight file path')
20
  parser.add_argument('--alpha', type=float, default=1.0, choices=[Range(0.0, 1.0)], help='Alpha [0.0, 1.0] controls style transfer level')
21
  parser.add_argument('--cuda', action='store_true', help='Use CUDA')
22
  parser.add_argument('--grid_pth', type=str, default=None, help='Specify a grid image path (default=None) if generate a grid image that contains all style transferred images')
 
66
  else:
67
  style_pths = [Path(f) for f in glob(args.style_dir+'/*')]
68
 
69
+ assert len(content_pths) > 0, 'Failed to load content image'
70
+ assert len(style_pths) > 0, 'Failed to load style image'
71
+
72
  out_dir = './results/'
73
  os.makedirs(out_dir, exist_ok=True)
74
 
 
83
 
84
  # Prepare grid image
85
  if args.grid_pth:
86
+ imgs = [np.ones((1, 1, 3), np.uint8) * 255]
87
  for style_pth in style_pths:
88
  imgs.append(Image.open(style_pth))
89
 
 
107
 
108
  toc = time.perf_counter() # End time
109
  print("Content: " + content_pth.stem + ". Style: " \
110
+ + style_pth.stem + '. Alpha: ' + str(args.alpha) + '. Style Transfer time: %.4f seconds' % (toc-tic))
111
  times.append(toc-tic)
112
 
113
  out_pth = out_dir + content_pth.stem + '_style_' + style_pth.stem + '_alpha' + str(args.alpha) + content_pth.suffix
 
116
  if args.grid_pth:
117
  imgs.append(Image.open(out_pth))
118
 
119
+ # Remove runtime of first iteration because it is flawed for some unknown reason
120
+ if len(times) > 1:
121
+ times.pop(0)
122
+ avg = sum(times)/len(times)
123
+ print("Average style transfer time: %.4f seconds" % (avg))
124
 
125
  if args.grid_pth:
126
  print("Generating grid image")
test_interpolate.py CHANGED
@@ -13,7 +13,7 @@ from glob import glob
13
  parser = argparse.ArgumentParser()
14
  parser.add_argument('--content_image', type=str, help='Test image file path')
15
  parser.add_argument('--style_image', type=str, required=True, help='Multiple Style image file path, separated by comma')
16
- parser.add_argument('--decoder_weight', type=str, required=True, help='Decoder weight file path')
17
  parser.add_argument('--alpha', type=float, default=1.0, choices=[Range(0.0, 1.0)], help='Alpha [0.0, 1.0] controls style transfer level')
18
  parser.add_argument('--interpolation_weights', type=str, help='Weights of interpolate multiple style images')
19
  parser.add_argument('--cuda', action='store_true', help='Use CUDA')
@@ -67,11 +67,14 @@ def main():
67
 
68
  style_pths_list = args.style_image.split(',')
69
  style_pths = [Path(pth) for pth in style_pths_list]
 
 
 
70
 
71
  inter_weights = []
72
  # If grid mode, use 4 style images, 5x5 interpolation weights
73
  if args.grid_pth:
74
- assert len(style_pths) == 4
75
  inter_weights = [ [ min(4-a, 4-b) / 4, min(4-a, b) / 4, min(a, 4-b) / 4, min(a, b) / 4] \
76
  for a in range(5) for b in range(5) ]
77
 
 
13
  parser = argparse.ArgumentParser()
14
  parser.add_argument('--content_image', type=str, help='Test image file path')
15
  parser.add_argument('--style_image', type=str, required=True, help='Multiple Style image file path, separated by comma')
16
+ parser.add_argument('--decoder_weight', type=str, default='decoder.pth', help='Decoder weight file path')
17
  parser.add_argument('--alpha', type=float, default=1.0, choices=[Range(0.0, 1.0)], help='Alpha [0.0, 1.0] controls style transfer level')
18
  parser.add_argument('--interpolation_weights', type=str, help='Weights of interpolate multiple style images')
19
  parser.add_argument('--cuda', action='store_true', help='Use CUDA')
 
67
 
68
  style_pths_list = args.style_image.split(',')
69
  style_pths = [Path(pth) for pth in style_pths_list]
70
+
71
+ assert len(content_pths) > 0, 'Failed to load content image'
72
+ assert len(style_pths) > 0, 'Failed to load style image'
73
 
74
  inter_weights = []
75
  # If grid mode, use 4 style images, 5x5 interpolation weights
76
  if args.grid_pth:
77
+ assert len(style_pths) == 4, "Under grid mode, specify 4 style images"
78
  inter_weights = [ [ min(4-a, 4-b) / 4, min(4-a, b) / 4, min(a, 4-b) / 4, min(a, b) / 4] \
79
  for a in range(5) for b in range(5) ]
80
 
test_video.py CHANGED
@@ -14,7 +14,7 @@ from tqdm import tqdm
14
  parser = argparse.ArgumentParser()
15
  parser.add_argument('--content_video', type=str, required=True, help='Content video file path')
16
  parser.add_argument('--style_image', type=str, required=True, help='Style image file path')
17
- parser.add_argument('--decoder_weight', type=str, required=True, help='Decoder weight file path')
18
  parser.add_argument('--alpha', type=float, default=1.0, choices=[Range(0.0, 1.0)], help='Alpha [0.0, 1.0] controls style transfer level')
19
  parser.add_argument('--cuda', action='store_true', help='Use CUDA')
20
  args = parser.parse_args()
 
14
  parser = argparse.ArgumentParser()
15
  parser.add_argument('--content_video', type=str, required=True, help='Content video file path')
16
  parser.add_argument('--style_image', type=str, required=True, help='Style image file path')
17
+ parser.add_argument('--decoder_weight', type=str, default='decoder.pth', help='Decoder weight file path')
18
  parser.add_argument('--alpha', type=float, default=1.0, choices=[Range(0.0, 1.0)], help='Alpha [0.0, 1.0] controls style transfer level')
19
  parser.add_argument('--cuda', action='store_true', help='Use CUDA')
20
  args = parser.parse_args()