Open ThaliaFU opened 4 years ago
Can you reproduce the results of 3DMIMO channel? I used matlab code to get the 3DMIMO channel file, but it was a. Hdf5 file, while the python code read an NPY file, is there anything missing in the middle? I saved H as a MAT file in MATLAB, and then Python read it using Scipy.io. The result I got was far from the result in the paper. As for temporal and spectral correlation, the code for online learning is to train each H in sequence, but there is no code to save the ith model and then train the i+1 model on the ith model. I reproduced an online training version according to the paper, but still could not reach the results in the paper.
Respected yxs33, did you get the output for the classic models.
Please respond if anyone got the output for the classic models .
Can you reproduce the results of 3DMIMO channel? I used matlab code to get the 3DMIMO channel file, but it was a. Hdf5 file, while the python code read an NPY file, is there anything missing in the middle? I saved H as a MAT file in MATLAB, and then Python read it using Scipy.io. The result I got was far from the result in the paper. As for temporal and spectral correlation, the code for online learning is to train each H in sequence, but there is no code to save the ith model and then train the i+1 model on the ith model. I reproduced an online training version according to the paper, but still could not reach the results in the paper.
I can reproduce the result of classic channel model but not 3D ones, unfortunately
Please respond if anyone got the output for the classic models .
The classic model which I got has the similar result shown in the paper
Please respond if anyone got the output for the classic models .
The classic model which I got has the similar result shown in the paper But I am not getting. Can you please explain little bit more. Actually I got channel_sequences.HDF5 file while executing the generate.m file in channels folder. After that I execute the benchmark.py file in classic folder. While executing this program I am getting the following error.
runfile('C:/Users/408117001/Downloads/MMNet/MMNet-master/classic/benchmark.py', wdir='C:/Users/408117001/Downloads/MMNet/MMNet-master/classic') usage: benchmark.py [-h] [--numSamples NUMSAMPLES] [--goTo GOTO] --x-size X_SIZE --y-size Y_SIZE --snr-min SNR_MIN --snr-max SNR_MAX --batch-size BATCH_SIZE --modulation MODULATION [--overwrite] [--correlated] [--ML] [--AMP] [--SDR] [--BLAST] [--MMSE] [--data] --data-dir DATA_DIR [--parallel] benchmark.py: error: the following arguments are required: --x-size/-xs, --y-size/-ys, --snr-min, --snr-max, --batch-size, --modulation/-mod, --data-dir An exception has occurred, use %tb to see the full traceback.
Is there anything we need to change while executing the benchmark.py file. Please tell me
Can you reproduce the results of 3DMIMO channel? I used matlab code to get the 3DMIMO channel file, but it was a. Hdf5 file, while the python code read an NPY file, is there anything missing in the middle? I saved H as a MAT file in MATLAB, and then Pyth on read it using Scipy.io. The result I got was far from the result in the paper. As for temporal and spectral correlation, the code for online learning is to train each H in sequence, but there is no code to save the ith model and then train the i+1 model on the ith model. I reproduced an online training version according to the paper, but still could not reach the results in the paper.
I can reproduce the result of classic channel model but not 3D ones, unfortunately
I don't think onlinetraing.py does what it says in the paper,the code did not train H in sequence,maybe the author did not release the actual online training code。
Please respond if anyone got the output for the classic models .
The classic model which I got has the similar result shown in the paper But I am not getting. Can you please explain little bit more. Actually I got channel_sequences.HDF5 file while executing the generate.m file in channels folder. After that I execute the benchmark.py file in classic folder. While executing this program I am getting the following error.
runfile('C:/Users/408117001/Downloads/MMNet/MMNet-master/classic/benchmark.py', wdir='C:/Users/408117001/Downloads/MMNet/MMNet-master/classic') usage: benchmark.py [-h] [--numSamples NUMSAMPLES] [--goTo GOTO] --x-size X_SIZE --y-size Y_SIZE --snr-min SNR_MIN --snr-max SNR_MAX --batch-size BATCH_SIZE --modulation MODULATION [--overwrite] [--correlated] [--ML] [--AMP] [--SDR] [--BLAST] [--MMSE] [--data] --data-dir DATA_DIR [--parallel] benchmark.py: error: the following arguments are required: --x-size/-xs, --y-size/-ys, --snr-min, --snr-max, --batch-size, --modulation/-mod, --data-dir An exception has occurred, use %tb to see the full traceback.
Is there anything we need to change while executing the benchmark.py file. Please tell me
You didn't complete the parameters for the code. I donot recommend running code from the command line,You can set the parameters in the code so that you can debug the code. Note that the H read by benchmark.py needs to be modified to your own generated H.
I set the parameters in the code as follows from parser.py
import argparse
def parse(): parser = argparse.ArgumentParser(description='MIMO signal detection benchmark')
parser.add_argument('--numSamples',100,
type = int,
required=False,
help = 'Fast benchmark numSamples')
parser.add_argument('--goTo',
type = int,
required=False,
help = 'Fast benchmark indexing')
parser.add_argument('--x-size', 16,
type = int,
required=True,
help = 'Number of senders')
parser.add_argument('--y-size',64,
type = int,
required=True,
help = 'Number of receivers')
parser.add_argument('--snr-min',2.,
type = float,
required=True,
help = 'Minimum SNR in dB')
parser.add_argument('--snr-max',7.,
type = float,
required=True,
help = 'Maximum SNR in dB')
parser.add_argument('--batch-size',100,
type = int,
required=True,
help = 'Batch size')
parser.add_argument('--modulation', 'QAM_4',
type = str,
required=True,
help = 'Modulation type which can be BPSK, 4PAM, or MIXED')
parser.add_argument('--overwrite',
action = 'store_true',
help = 'Overwrite the results into the file')
parser.add_argument('--correlated',
action = 'store_true',
help = 'Use correlated channel')
parser.add_argument('--ML',
action = 'store_true',
help = 'Include Maximum Likielihood')
parser.add_argument('--AMP',
action = 'store_true',
help = 'Include Approximate Message Passing')
parser.add_argument('--SDR',
action = 'store_true',
help = 'Include SDR detection algorithm')
parser.add_argument('--BLAST',
action = 'store_true',
help = 'Include BLAST detection algorithm')
parser.add_argument('--MMSE',
action = 'store_true',
help = 'Include Zero Forcing')
parser.add_argument('--data',
action = 'store_true',
help = 'Load H from dataset')
parser.add_argument('--data-dir','C:/Users/408117001/Downloads/MMNet/MMNet-master/channels/channel_sequences.hdf5',
type = str,
required=True,
help = 'Channel data directory')
parser.add_argument('--parallel',
action = 'store_true',
help = 'Parallelize the ML solver')
args = parser.parse_args()
return args
Can you please tell me how to modify the generated H.
If possible please share the exact MATLAB code of your files to my email id: bitravenkaiah@gmail.com I will feel very happy If some one give exact code for me. Thanks for advance
I am loading the the data H in this way
from keras.models import load_model model=load_model('channel_sequences.h5')
while loading the data from keras, I am getting the following error
runfile('C:/Users/admin/Downloads/MMNet-master/MMNet-master/classic/benchmark.py', wdir='C:/Users/admin/Downloads/MMNet-master/MMNet-master/classic') Reloaded modules: genSolver, analyzer Traceback (most recent call last):
File "C:\Users\admin\Downloads\MMNet-master\MMNet-master\classic\benchmark.py", line 20, in
File "C:\Users\admin\anaconda3\envs\py37\lib\site-packages\keras\engine\saving.py", line 492, in load_wrapper return load_function(*args, **kwargs)
File "C:\Users\admin\anaconda3\envs\py37\lib\site-packages\keras\engine\saving.py", line 583, in load_model with H5Dict(filepath, mode='r') as h5dict:
File "C:\Users\admin\anaconda3\envs\py37\lib\site-packages\keras\utils\io_utils.py", line 191, in init self.data = h5py.File(path, mode=mode)
File "C:\Users\admin\anaconda3\envs\py37\lib\site-packages\h5py_hl\files.py", line 408, in init swmr=swmr)
File "C:\Users\admin\anaconda3\envs\py37\lib\site-packages\h5py_hl\files.py", line 173, in make_fid fid = h5f.open(name, flags, fapl=fapl)
File "h5py_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py\h5f.pyx", line 88, in h5py.h5f.open
OSError: Unable to open file (unable to open file: name = 'channel_sequences.h5', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0)
Please help me, how to resolve the issue...
Hi mehrdadkhani wonderful work! I have successfully get 3GPP channel model and use the channel matrices to implement in Onlinetraining. You mentioned in the paper that the key point for MMNet's low complexity is that MMNet makes good use of temporal and spectral correlation for Channel matrices. But I have checked codes and there is no relevant code design based on temporal and spectral correlation. so I am kind of confusing.