sumuzhao / cyclegan-music-style-transfer Goto Github PK
View Code? Open in Web Editor NEWSymbolic Music Genre Transfer with CycleGAN
License: MIT License
Symbolic Music Genre Transfer with CycleGAN
License: MIT License
Great work!
I tried to use your code to reproduce this work from zero.
I want to ask some question about data preparation. I used your code midi cleaning, time signature selection and so on.
Finally before split a training and testing set, I have 24232 classic npy, 13286 jazz npy and 25995 pop nay files. That's too much compared to the npy dataset you offer. I don't know where I'm wrong. Could you please show me the script you used of generate training and testing spy file?
Best regards
I'm trying to train a model and test it, the first step being to generate npy files representing numpy arrays from midi files (as the current dataset uploaded only includes individual midi files). I'm trying the following code (from Testfile.py):
import math
import random
import os
import shutil
from dataprocessing import pretty_midi_to_piano_roll
import matplotlib.pyplot as plt
import pretty_midi
from pypianoroll import Multitrack, Track
import librosa.display
from utils import *
def get_bar_piano_roll(piano_roll):
if int(piano_roll.shape[0] % 64) is not 0:
if LAST_BAR_MODE == 'fill':
piano_roll = np.concatenate((piano_roll, np.zeros((64 - piano_roll.shape[0] % 64, 128))), axis=0)
elif LAST_BAR_MODE == 'remove':
piano_roll = np.delete(piano_roll, np.s_[-int(piano_roll.shape[0] % 64):], axis=0)
piano_roll = piano_roll.reshape(-1, 64, 128)
return piano_roll
LAST_BAR_MODE = 'remove'
# convert midi files to npy - midi files will be in the ./Classic/ directory
l = [f for f in os.listdir('./Classic/')]
count = 0
count2 = 0
for i in range(len(l)):
try:
multitrack = Multitrack(beat_resolution=4, name=os.path.splitext(l[i])[0])
x = pretty_midi.PrettyMIDI(os.path.join('./Classic/', l[i]))
multitrack.parse_pretty_midi(x)
category_list = {'Piano': [], 'Drums': []}
program_dict = {'Piano': 0, 'Drums': 0}
for idx, track in enumerate(multitrack.tracks):
if track.is_drum:
category_list['Drums'].append(idx)
else:
category_list['Piano'].append(idx)
tracks = []
merged = multitrack[category_list['Piano']].get_merged_pianoroll()
merged = multitrack.get_merged_pianoroll()
tracks = [(Track(merged, program=0, is_drum=False, name=os.path.splitext(l[i])[0]))]
mt = Multitrack(None, tracks, multitrack.tempo, multitrack.downbeat, multitrack.beat_resolution, multitrack.name)
pr = get_bar_piano_roll(merged)
pr_clip = pr[:, :, 24:108]
if int(pr_clip.shape[0] % 4) != 0:
pr_clip = np.delete(pr_clip, np.s_[-int(pr_clip.shape[0] % 4):], axis=0)
pr_re = pr_clip.reshape(-1, 64, 84, 1)
print(pr_re.shape)
# pr_re.shape will be something like (4, 64, 84, 1) or (8, 64, 84, 1) etc
for j in range(len(pr_re)):
# this would save each part of pr_re, with each part being of shape (64, 84, 1)
np.save(os.path.join('./datasets/Classic/train', 'classic_piano_train_' + str(count2) + '.npy'), pr_re[j])
count2 += 1
count += 1
print(str(count))
except:
print('Wrong', l[i])
continue
Per the readme, this is of course incorrect as train data should be arrays of shape (1, 64, 84, 1) and in the above I'm generating them with shape (64, 84, 1). How should midi files be properly converted to numpy arrays in the shape (1, 64, 84, 1)?
I'm trying to train a CycleGAN model as follows:
python main.py --dataset_A_dir='Pop' --dataset_B_dir='Classic' --type='cyclegan' --model='full' --sigma_d=1 --phase='train'
This doesn't seem to generate anything on my machine, though there is no error - I just get the following output:
generatorA2B/g_e1_c/Conv/weights:0
generatorA2B/g_e1_bn/scale:0
generatorA2B/g_e1_bn/offset:0
generatorA2B/g_e2_c/Conv/weights:0
generatorA2B/g_e2_bn/scale:0
generatorA2B/g_e2_bn/offset:0
generatorA2B/g_e3_c/Conv/weights:0
generatorA2B/g_e3_bn/scale:0
generatorA2B/g_e3_bn/offset:0
generatorA2B/g_r1_c1/Conv/weights:0
generatorA2B/g_r1_bn1/scale:0
generatorA2B/g_r1_bn1/offset:0
generatorA2B/g_r1_c2/Conv/weights:0
generatorA2B/g_r1_bn2/scale:0
generatorA2B/g_r1_bn2/offset:0
generatorA2B/g_r2_c1/Conv/weights:0
generatorA2B/g_r2_bn1/scale:0
generatorA2B/g_r2_bn1/offset:0
generatorA2B/g_r2_c2/Conv/weights:0
generatorA2B/g_r2_bn2/scale:0
generatorA2B/g_r2_bn2/offset:0
generatorA2B/g_r3_c1/Conv/weights:0
generatorA2B/g_r3_bn1/scale:0
generatorA2B/g_r3_bn1/offset:0
generatorA2B/g_r3_c2/Conv/weights:0
generatorA2B/g_r3_bn2/scale:0
generatorA2B/g_r3_bn2/offset:0
generatorA2B/g_r4_c1/Conv/weights:0
generatorA2B/g_r4_bn1/scale:0
generatorA2B/g_r4_bn1/offset:0
generatorA2B/g_r4_c2/Conv/weights:0
generatorA2B/g_r4_bn2/scale:0
generatorA2B/g_r4_bn2/offset:0
generatorA2B/g_r5_c1/Conv/weights:0
generatorA2B/g_r5_bn1/scale:0
generatorA2B/g_r5_bn1/offset:0
generatorA2B/g_r5_c2/Conv/weights:0
generatorA2B/g_r5_bn2/scale:0
generatorA2B/g_r5_bn2/offset:0
generatorA2B/g_r6_c1/Conv/weights:0
generatorA2B/g_r6_bn1/scale:0
generatorA2B/g_r6_bn1/offset:0
generatorA2B/g_r6_c2/Conv/weights:0
generatorA2B/g_r6_bn2/scale:0
generatorA2B/g_r6_bn2/offset:0
generatorA2B/g_r7_c1/Conv/weights:0
generatorA2B/g_r7_bn1/scale:0
generatorA2B/g_r7_bn1/offset:0
generatorA2B/g_r7_c2/Conv/weights:0
generatorA2B/g_r7_bn2/scale:0
generatorA2B/g_r7_bn2/offset:0
generatorA2B/g_r8_c1/Conv/weights:0
generatorA2B/g_r8_bn1/scale:0
generatorA2B/g_r8_bn1/offset:0
generatorA2B/g_r8_c2/Conv/weights:0
generatorA2B/g_r8_bn2/scale:0
generatorA2B/g_r8_bn2/offset:0
generatorA2B/g_r9_c1/Conv/weights:0
generatorA2B/g_r9_bn1/scale:0
generatorA2B/g_r9_bn1/offset:0
generatorA2B/g_r9_c2/Conv/weights:0
generatorA2B/g_r9_bn2/scale:0
generatorA2B/g_r9_bn2/offset:0
generatorA2B/g_r10_c1/Conv/weights:0
generatorA2B/g_r10_bn1/scale:0
generatorA2B/g_r10_bn1/offset:0
generatorA2B/g_r10_c2/Conv/weights:0
generatorA2B/g_r10_bn2/scale:0
generatorA2B/g_r10_bn2/offset:0
generatorA2B/g_d1_dc/Conv2d_transpose/weights:0
generatorA2B/g_d1_bn/scale:0
generatorA2B/g_d1_bn/offset:0
generatorA2B/g_d2_dc/Conv2d_transpose/weights:0
generatorA2B/g_d2_bn/scale:0
generatorA2B/g_d2_bn/offset:0
generatorA2B/g_pred_c/Conv/weights:0
generatorB2A/g_e1_c/Conv/weights:0
generatorB2A/g_e1_bn/scale:0
generatorB2A/g_e1_bn/offset:0
generatorB2A/g_e2_c/Conv/weights:0
generatorB2A/g_e2_bn/scale:0
generatorB2A/g_e2_bn/offset:0
generatorB2A/g_e3_c/Conv/weights:0
generatorB2A/g_e3_bn/scale:0
generatorB2A/g_e3_bn/offset:0
generatorB2A/g_r1_c1/Conv/weights:0
generatorB2A/g_r1_bn1/scale:0
generatorB2A/g_r1_bn1/offset:0
generatorB2A/g_r1_c2/Conv/weights:0
generatorB2A/g_r1_bn2/scale:0
generatorB2A/g_r1_bn2/offset:0
generatorB2A/g_r2_c1/Conv/weights:0
generatorB2A/g_r2_bn1/scale:0
generatorB2A/g_r2_bn1/offset:0
generatorB2A/g_r2_c2/Conv/weights:0
generatorB2A/g_r2_bn2/scale:0
generatorB2A/g_r2_bn2/offset:0
generatorB2A/g_r3_c1/Conv/weights:0
generatorB2A/g_r3_bn1/scale:0
generatorB2A/g_r3_bn1/offset:0
generatorB2A/g_r3_c2/Conv/weights:0
generatorB2A/g_r3_bn2/scale:0
generatorB2A/g_r3_bn2/offset:0
generatorB2A/g_r4_c1/Conv/weights:0
generatorB2A/g_r4_bn1/scale:0
generatorB2A/g_r4_bn1/offset:0
generatorB2A/g_r4_c2/Conv/weights:0
generatorB2A/g_r4_bn2/scale:0
generatorB2A/g_r4_bn2/offset:0
generatorB2A/g_r5_c1/Conv/weights:0
generatorB2A/g_r5_bn1/scale:0
generatorB2A/g_r5_bn1/offset:0
generatorB2A/g_r5_c2/Conv/weights:0
generatorB2A/g_r5_bn2/scale:0
generatorB2A/g_r5_bn2/offset:0
generatorB2A/g_r6_c1/Conv/weights:0
generatorB2A/g_r6_bn1/scale:0
generatorB2A/g_r6_bn1/offset:0
generatorB2A/g_r6_c2/Conv/weights:0
generatorB2A/g_r6_bn2/scale:0
generatorB2A/g_r6_bn2/offset:0
generatorB2A/g_r7_c1/Conv/weights:0
generatorB2A/g_r7_bn1/scale:0
generatorB2A/g_r7_bn1/offset:0
generatorB2A/g_r7_c2/Conv/weights:0
generatorB2A/g_r7_bn2/scale:0
generatorB2A/g_r7_bn2/offset:0
generatorB2A/g_r8_c1/Conv/weights:0
generatorB2A/g_r8_bn1/scale:0
generatorB2A/g_r8_bn1/offset:0
generatorB2A/g_r8_c2/Conv/weights:0
generatorB2A/g_r8_bn2/scale:0
generatorB2A/g_r8_bn2/offset:0
generatorB2A/g_r9_c1/Conv/weights:0
generatorB2A/g_r9_bn1/scale:0
generatorB2A/g_r9_bn1/offset:0
generatorB2A/g_r9_c2/Conv/weights:0
generatorB2A/g_r9_bn2/scale:0
generatorB2A/g_r9_bn2/offset:0
generatorB2A/g_r10_c1/Conv/weights:0
generatorB2A/g_r10_bn1/scale:0
generatorB2A/g_r10_bn1/offset:0
generatorB2A/g_r10_c2/Conv/weights:0
generatorB2A/g_r10_bn2/scale:0
generatorB2A/g_r10_bn2/offset:0
generatorB2A/g_d1_dc/Conv2d_transpose/weights:0
generatorB2A/g_d1_bn/scale:0
generatorB2A/g_d1_bn/offset:0
generatorB2A/g_d2_dc/Conv2d_transpose/weights:0
generatorB2A/g_d2_bn/scale:0
generatorB2A/g_d2_bn/offset:0
generatorB2A/g_pred_c/Conv/weights:0
discriminatorB/d_h0_conv/Conv/weights:0
discriminatorB/d_h1_conv/Conv/weights:0
discriminatorB/d_bn1/scale:0
discriminatorB/d_bn1/offset:0
discriminatorB/d_h3_pred/Conv/weights:0
discriminatorA/d_h0_conv/Conv/weights:0
discriminatorA/d_h1_conv/Conv/weights:0
discriminatorA/d_bn1/scale:0
discriminatorA/d_bn1/offset:0
discriminatorA/d_h3_pred/Conv/weights:0
discriminatorA_all/d_h0_conv/Conv/weights:0
discriminatorA_all/d_h1_conv/Conv/weights:0
discriminatorA_all/d_bn1/scale:0
discriminatorA_all/d_bn1/offset:0
discriminatorA_all/d_h3_pred/Conv/weights:0
discriminatorB_all/d_h0_conv/Conv/weights:0
discriminatorB_all/d_h1_conv/Conv/weights:0
discriminatorB_all/d_bn1/scale:0
discriminatorB_all/d_bn1/offset:0
discriminatorB_all/d_h3_pred/Conv/weights:0
While with the genre classifier, If I try for example:
python main.py --dataset_A_dir='Pop' --dataset_B_dir='Classic' --type='classifier' --sigma_c=1 --phase='train'
I get the following:
Traceback (most recent call last):
File "main.py", line 72, in <module>
tf.app.run()
File "/home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "main.py", line 68, in main
classifier.train(args) if args.phase == 'train' else classifier.test(args)
File "/home/paperspace/music/CycleGAN-Music-Style-Transfer/style_classifier.py", line 124, in train
gaussian_noise = np.random.normal(0, self.sigma_c, [data_test.shape[0], data_test.shape[1],
IndexError: tuple index out of range
I'm currently using the following command in command prompt on a PC to train the models using the split numpy arrays in ascending order as instructed in the data section of the README: python3 main.py --dataset_A_dir=jazz --dataset_B_dir=classic --type=classifier --model=base --sigma_c=0 --sigma_d=0 --phase=train --which_direction=AtoB
My data is in the np.shape (1, 64, 84, 1), as specified, but the gaussian noise being added is not of the right dimension in style_classifier.py. Is my data in the wrong format? What needs to be changed? Thanks!
Can you upload your dataset after preprocessing?Thanks!
When trying to train like the following:
python main.py --dataset_A_dir='Classic' --dataset_B_dir='Jazz' --type='cyclegan' --model='full' --sigma_d=1 --phase='train'
The code fails where it tries to load a .midi file as a numpy array in the load_npy_data()
function (added print statements):
def load_npy_data(npy_data):
print('printing npy_data for the load_npy_data function...')
print(npy_data)
npy_A = np.load(npy_data[0]) * 1.
npy_B = np.load(npy_data[1]) * 1.
npy_AB = np.concatenate((npy_A.reshape(npy_A.shape[0], npy_A.shape[1], 1),
npy_B.reshape(npy_B.shape[0], npy_B.shape[1], 1)), axis=2)
return npy_AB
As follows:
printing npy_data for the load_npy_data function...
('./datasets/Classic/train/WoO051 Sonatina 1-2 movs.mid', './datasets/Jazz/train/arrividerci_darling-1954-kar-1_jpp.mid')
Traceback (most recent call last):
File "/home/paperspace/anaconda3/lib/python3.6/site-packages/numpy/lib/npyio.py", line 428, in load
return pickle.load(fid, **pickle_kwargs)
_pickle.UnpicklingError: could not find MARK
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 72, in <module>
tf.app.run()
File "/home/paperspace/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "main.py", line 64, in main
model.train(args) if args.phase == 'train' else model.test(args)
File "/home/paperspace/music/CycleGAN-Music-Style-Transfer/model.py", line 242, in train
batch_images = [load_npy_data(batch_file) for batch_file in batch_files]
File "/home/paperspace/music/CycleGAN-Music-Style-Transfer/model.py", line 242, in <listcomp>
batch_images = [load_npy_data(batch_file) for batch_file in batch_files]
File "/home/paperspace/music/CycleGAN-Music-Style-Transfer/utils.py", line 101, in load_npy_data
npy_A = np.load(npy_data[0]) * 1.
File "/home/paperspace/anaconda3/lib/python3.6/site-packages/numpy/lib/npyio.py", line 431, in load
"Failed to interpret file %s as a pickle" % repr(file))
OSError: Failed to interpret file './datasets/Classic/train/WoO051 Sonatina 1-2 movs.mid' as a pickle
Hey thank you for this amazing code. I have some questions about the code. I'm able to run the code without any errors but the model isn't being trained and nothing is happening with the testing part. Weights, offsets and scales all show zero. Could you please help out with this, @sumuzhao ?
When training your model, you offer the opportunity to save some generated samples every k steps. On some runs, I have a problem with visualizing several samples, mostly the cyclic mapping back to the origin domain.
However, this is not present in every run, but mostly in runs with a large number of epochs (50 or so).
A traceback while trying to visualize a sample (in another script) is shown here:
Traceback (most recent call last):
File "<ipython-input-56-c8394e1b4f1b>", line 7, in visualize_dir
multitrack = pypianoroll.read(directory+"/"+name)
File "/usr/local/lib/python3.6/dist-packages/pypianoroll/inputs.py", line 336, in read
return from_pretty_midi(PrettyMIDI(str(path)), **kwargs)
File "/usr/local/lib/python3.6/dist-packages/pypianoroll/inputs.py", line 186, in from_pretty_midi
raise ValueError("Cannot get beat timings to quantize the piano roll.")
ValueError: Cannot get beat timings to quantize the piano roll.
Opening these files with MuseScore only shows a blank page.
If you or any other user has experienced the same or a similar problem, please share them here.
I am open to any suggestions and can image working on a fix together.
Ideally, if somebody already has a solution, or knows why this happens, leave a comment.
Thanks in advance.
E:\Users\Raytine\Anaconda3\python.exe F:/voice/CycleGAN-Music-Style-Transfer-master/main.py --dataset_A_dir='data/JC_J' --dataset_B_dir='data/JC_C' --type='cyclegan' --model='base' --sigma_d=0 --phase='train'
Traceback (most recent call last):
File "F:/voice/CycleGAN-Music-Style-Transfer-master/main.py", line 4, in
from model import cyclegan
File "F:\voice\CycleGAN-Music-Style-Transfer-master\model.py", line 13, in
from metrics import *
ImportError: No module named 'metrics'
Congratulations on your groundbreaking work!
I know that you and the musegan's data are different from the audio track.But I can't understand the difference in time.
His time is 496. Yours seems to be 416, but you write directly to 64, which means that your four bars are a phrase and there is no bar length for him. Is this the meaning?
Hi, sumuzhao, i've tried to start training your network with your dataset under the instructions python
main.py --dataset_A_dir='JC_J' --dataset_B_dir='JC_C' --type='cyclegan' --model='base' --sigma_d=0 --phase='train'
but things didnot go right. here's what comes out:
2019-04-11 17:31:09.960154: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2019-04-11 17:31:11.424925: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties: name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235 pciBusID: 0000:8b:00.0 totalMemory: 11.17GiB freeMemory: 11.10GiB 2019-04-11 17:31:11.425039: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0 2019-04-11 17:31:12.042054: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix: 2019-04-11 17:31:12.042099: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988] 0 2019-04-11 17:31:12.042112: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0: N 2019-04-11 17:31:12.043982: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10758 MB memory) -> physical GPU (device: 0, name: Tesla K80, pci bus id: 0000:8b:00.0, compute capability: 3.7) WARNING:tensorflow:From /home/lab-xie.yulin/graduateDesign/CycleGAN-Music-Style-Transfer/ops.py:110: calling reduce_max (from tensorflow.python.ops.math_ops) with keep_dims is deprecated and will be removed in a future version. Instructions for updating: keep_dims is deprecated, use keepdims instead generatorA2B/g_e1_c/Conv/weights:0 generatorA2B/g_e1_bn/scale:0 generatorA2B/g_e1_bn/offset:0 generatorA2B/g_e2_c/Conv/weights:0 generatorA2B/g_e2_bn/scale:0 generatorA2B/g_e2_bn/offset:0 generatorA2B/g_e3_c/Conv/weights:0 generatorA2B/g_e3_bn/scale:0 generatorA2B/g_e3_bn/offset:0 generatorA2B/g_r1_c1/Conv/weights:0 generatorA2B/g_r1_bn1/scale:0 generatorA2B/g_r1_bn1/offset:0 generatorA2B/g_r1_c2/Conv/weights:0 generatorA2B/g_r1_bn2/scale:0 generatorA2B/g_r1_bn2/offset:0 generatorA2B/g_r2_c1/Conv/weights:0 generatorA2B/g_r2_bn1/scale:0 generatorA2B/g_r2_bn1/offset:0 generatorA2B/g_r2_c2/Conv/weights:0 generatorA2B/g_r2_bn2/scale:0 generatorA2B/g_r2_bn2/offset:0 generatorA2B/g_r3_c1/Conv/weights:0 generatorA2B/g_r3_bn1/scale:0 generatorA2B/g_r3_bn1/offset:0 generatorA2B/g_r3_c2/Conv/weights:0 generatorA2B/g_r3_bn2/scale:0 generatorA2B/g_r3_bn2/offset:0 generatorA2B/g_r4_c1/Conv/weights:0 generatorA2B/g_r4_bn1/scale:0 generatorA2B/g_r4_bn1/offset:0 generatorA2B/g_r4_c2/Conv/weights:0 generatorA2B/g_r4_bn2/scale:0 generatorA2B/g_r4_bn2/offset:0 generatorA2B/g_r5_c1/Conv/weights:0 generatorA2B/g_r5_bn1/scale:0 generatorA2B/g_r5_bn1/offset:0 generatorA2B/g_r5_c2/Conv/weights:0 generatorA2B/g_r5_bn2/scale:0 generatorA2B/g_r5_bn2/offset:0 generatorA2B/g_r6_c1/Conv/weights:0 generatorA2B/g_r6_bn1/scale:0 generatorA2B/g_r6_bn1/offset:0 generatorA2B/g_r6_c2/Conv/weights:0 generatorA2B/g_r6_bn2/scale:0 generatorA2B/g_r6_bn2/offset:0 generatorA2B/g_r7_c1/Conv/weights:0 generatorA2B/g_r7_bn1/scale:0 generatorA2B/g_r7_bn1/offset:0 generatorA2B/g_r7_c2/Conv/weights:0 generatorA2B/g_r7_bn2/scale:0 generatorA2B/g_r7_bn2/offset:0 generatorA2B/g_r8_c1/Conv/weights:0 generatorA2B/g_r8_bn1/scale:0 generatorA2B/g_r8_bn1/offset:0 generatorA2B/g_r8_c2/Conv/weights:0 generatorA2B/g_r8_bn2/scale:0 generatorA2B/g_r8_bn2/offset:0 generatorA2B/g_r9_c1/Conv/weights:0 generatorA2B/g_r9_bn1/scale:0 generatorA2B/g_r9_bn1/offset:0 generatorA2B/g_r9_c2/Conv/weights:0 generatorA2B/g_r9_bn2/scale:0 generatorA2B/g_r9_bn2/offset:0 generatorA2B/g_r10_c1/Conv/weights:0 generatorA2B/g_r10_bn1/scale:0 generatorA2B/g_r10_bn1/offset:0 generatorA2B/g_r10_c2/Conv/weights:0 generatorA2B/g_r10_bn2/scale:0 generatorA2B/g_r10_bn2/offset:0 generatorA2B/g_d1_dc/Conv2d_transpose/weights:0 generatorA2B/g_d1_bn/scale:0 generatorA2B/g_d1_bn/offset:0 generatorA2B/g_d2_dc/Conv2d_transpose/weights:0 generatorA2B/g_d2_bn/scale:0 generatorA2B/g_d2_bn/offset:0 generatorA2B/g_pred_c/Conv/weights:0 generatorB2A/g_e1_c/Conv/weights:0 generatorB2A/g_e1_bn/scale:0 generatorB2A/g_e1_bn/offset:0 generatorB2A/g_e2_c/Conv/weights:0 generatorB2A/g_e2_bn/scale:0 generatorB2A/g_e2_bn/offset:0 generatorB2A/g_e3_c/Conv/weights:0 generatorB2A/g_e3_bn/scale:0 generatorB2A/g_e3_bn/offset:0 generatorB2A/g_r1_c1/Conv/weights:0 generatorB2A/g_r1_bn1/scale:0 generatorB2A/g_r1_bn1/offset:0 generatorB2A/g_r1_c2/Conv/weights:0 generatorB2A/g_r1_bn2/scale:0 generatorB2A/g_r1_bn2/offset:0 generatorB2A/g_r2_c1/Conv/weights:0 generatorB2A/g_r2_bn1/scale:0 generatorB2A/g_r2_bn1/offset:0 generatorB2A/g_r2_c2/Conv/weights:0 generatorB2A/g_r2_bn2/scale:0 generatorB2A/g_r2_bn2/offset:0 generatorB2A/g_r3_c1/Conv/weights:0 generatorB2A/g_r3_bn1/scale:0 generatorB2A/g_r3_bn1/offset:0 generatorB2A/g_r3_c2/Conv/weights:0 generatorB2A/g_r3_bn2/scale:0 generatorB2A/g_r3_bn2/offset:0 generatorB2A/g_r4_c1/Conv/weights:0 generatorB2A/g_r4_bn1/scale:0 generatorB2A/g_r4_bn1/offset:0 generatorB2A/g_r4_c2/Conv/weights:0 generatorB2A/g_r4_bn2/scale:0 generatorB2A/g_r4_bn2/offset:0 generatorB2A/g_r5_c1/Conv/weights:0 generatorB2A/g_r5_bn1/scale:0 generatorB2A/g_r5_bn1/offset:0 generatorB2A/g_r5_c2/Conv/weights:0 generatorB2A/g_r5_bn2/scale:0 generatorB2A/g_r5_bn2/offset:0 generatorB2A/g_r6_c1/Conv/weights:0 generatorB2A/g_r6_bn1/scale:0 generatorB2A/g_r6_bn1/offset:0 generatorB2A/g_r6_c2/Conv/weights:0 generatorB2A/g_r6_bn2/scale:0 generatorB2A/g_r6_bn2/offset:0 generatorB2A/g_r7_c1/Conv/weights:0 generatorB2A/g_r7_bn1/scale:0 generatorB2A/g_r7_bn1/offset:0 generatorB2A/g_r7_c2/Conv/weights:0 generatorB2A/g_r7_bn2/scale:0 generatorB2A/g_r7_bn2/offset:0 generatorB2A/g_r8_c1/Conv/weights:0 generatorB2A/g_r8_bn1/scale:0 generatorB2A/g_r8_bn1/offset:0 generatorB2A/g_r8_c2/Conv/weights:0 generatorB2A/g_r8_bn2/scale:0 generatorB2A/g_r8_bn2/offset:0 generatorB2A/g_r9_c1/Conv/weights:0 generatorB2A/g_r9_bn1/scale:0 generatorB2A/g_r9_bn1/offset:0 generatorB2A/g_r9_c2/Conv/weights:0 generatorB2A/g_r9_bn2/scale:0 generatorB2A/g_r9_bn2/offset:0 generatorB2A/g_r10_c1/Conv/weights:0 generatorB2A/g_r10_bn1/scale:0 generatorB2A/g_r10_bn1/offset:0 generatorB2A/g_r10_c2/Conv/weights:0 generatorB2A/g_r10_bn2/scale:0 generatorB2A/g_r10_bn2/offset:0 generatorB2A/g_d1_dc/Conv2d_transpose/weights:0 generatorB2A/g_d1_bn/scale:0 generatorB2A/g_d1_bn/offset:0 generatorB2A/g_d2_dc/Conv2d_transpose/weights:0 generatorB2A/g_d2_bn/scale:0 generatorB2A/g_d2_bn/offset:0 generatorB2A/g_pred_c/Conv/weights:0 discriminatorB/d_h0_conv/Conv/weights:0 discriminatorB/d_h1_conv/Conv/weights:0 discriminatorB/d_bn1/scale:0 discriminatorB/d_bn1/offset:0 discriminatorB/d_h3_pred/Conv/weights:0 discriminatorA/d_h0_conv/Conv/weights:0 discriminatorA/d_h1_conv/Conv/weights:0 discriminatorA/d_bn1/scale:0 discriminatorA/d_bn1/offset:0 discriminatorA/d_h3_pred/Conv/weights:0
and as i take a lood at the log, it shows that is not UTF-8 encoded.
Could you tell me what is going on as i am not sure why the training just stops without many errors? Thanks in advance for your help. Appreciate that.
Can you provide your pretrained weights?
Hi,
I'm trying to revise you code to do some multi-track multi-domain genre transfer with stargan, there are three track as my channel which are drum, bass and guitar. Here is some problem happened:
Do you have any idea to solve this problem?
your work is really interesting, thanks a lot.
Per Testfile.py I've been able to convert a midi file into multiple numpy arrays of shape (64, 84, 1) which I can then run a trained model on. This will return a midi file (cycle, transfer) for each individual numpy array, which will of course only be a few seconds in length each. Is there code for combining midi files? I assume this must have been done for the examples given where full songs are converted.
Can you provide a model that has been trained
Hi @sumuzhao @rohan2810 @kant @brunnergino - The link to the evaluation midi / audio files is not working anymore. It would be great if you could please provide the files that were used for the evaluation.
I want to add WGAN-GP to stable train in your model,but I don't know how to add GP in two D.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.