Untitled
unknown
python
a year ago
2.3 kB
6
Indexable
import os
import sys
import typing
sys.path.append(os.path.join(os.path.dirname(__file__), "../noma"))
sys.path.append(os.path.join(os.path.dirname(__file__), ".."))
import unittest
from unittest.mock import Mock
from utils import *
import numpy as np
import jaxtyping
from itertools import product
from noma.cpp_wrapper import ApsmNomaDetectorWrapper, test_func
class LazyTest(unittest.TestCase):
def test_cuda_lazy(self):
test_func()
parameters = {
"filenames": [
"test_data_Gaussian_weight_0.5_antennas_2_users_3_4QAM_unittest.bin"
],
"impl_id": [("original", "original"), ("shmem", "shmem"), ("split", "oldfast"), ("gramcache", "balanced")],
}
keys, values = zip(*parameters.items())
pars = [dict(zip(keys, p)) for p in product(*values)]
for par in pars:
with self.subTest(par):
full_filename = os.path.join(os.path.dirname(__file__), "../../cpp/data/tests", par["filenames"])
data = data_parse(full_filename)
X_train_cpp = data.rxSigTraining.reshape(data.rxSigTraining.shape[0], -1)
X_test_cpp = data.rxSigData.reshape(data.rxSigData.shape[0], -1)
y_train = data.txSigTraining
config = {
"otype": "APSM",
"llsInitialization": False,
"trainingShuffle": False,
"gaussianKernelWeight": data.gaussian_weight,
"gaussianKernelVariance": data.gaussian_variance / (data.num_antennas * data.num_antennas),
"windowSize": data.window_size,
"startWithFullWindow": False,
"eB": data.eB,
"trainVersion": par["impl_id"][0],
"detectVersion": par["impl_id"][1],
}
apsm_instance = ApsmNomaDetectorWrapper.build(config, data.num_antennas)
apsm_instance.train(X_train_cpp, y_train)
basis_cpp, gaussian_weights_cpp, linear_coeffs_cpp = apsm_instance.train_state()
result_cpp, detect_time = apsm_instance.detect(X_test_cpp)
import torch
if __name__ == "__main__":
unittest.main()Editor is loading...
Leave a Comment