Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions for MMNet correlated channel matrix #3

Open
ThaliaFU opened this issue Mar 3, 2020 · 12 comments
Open

Questions for MMNet correlated channel matrix #3

ThaliaFU opened this issue Mar 3, 2020 · 12 comments

Comments

@ThaliaFU
Copy link

ThaliaFU commented Mar 3, 2020

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.

@yxs33
Copy link

yxs33 commented Oct 18, 2020

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.

@hanu72
Copy link

hanu72 commented Nov 2, 2020

Respected yxs33, did you get the output for the classic models.

@hanu72
Copy link

hanu72 commented Nov 2, 2020

Please respond if anyone got the output for the classic models .

@ThaliaFU
Copy link
Author

ThaliaFU commented Nov 3, 2020

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

@ThaliaFU
Copy link
Author

ThaliaFU commented Nov 3, 2020

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

@hanu72
Copy link

hanu72 commented Nov 4, 2020

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

@yxs33
Copy link

yxs33 commented Nov 4, 2020

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。

@yxs33
Copy link

yxs33 commented Nov 4, 2020

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.

@hanu72
Copy link

hanu72 commented Nov 10, 2020

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.

@hanu72
Copy link

hanu72 commented Nov 10, 2020

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

@hanu72
Copy link

hanu72 commented Nov 11, 2020

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
model=load_model('channel_sequences.h5')

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)

@hanu72
Copy link

hanu72 commented Nov 11, 2020

Please help me, how to resolve the issue...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants