docker-packing-box
docker-packing-box copied to clipboard
model train
Hi, based on doc i can't get "model train" working
dataset -v make pe-upx-dataset -f PE -a -p upx -n 400 -s /mnt/share/dataset-packed-pe/not-packed
...
model train pe-upx-dataset --algorithm dt
00:00:01.818 [INFO] Selected algorithm: Decision Tree
00:00:01.819 [INFO] Reference dataset: pe-upx-dataset(PE32)
00:00:01.820 [INFO] Computing features...
00:00:54.732 [INFO] Making pipeline...
Traceback (most recent call last):
File "/opt/tools/model", line 117, in <module>
getattr(m, args.command)(**vars(args))
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/model.py", line 511, in train
if not self._prepare(**kw):
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/model.py", line 295, in _prepare
train_test_split(self._data, self._target, test_size=.2, random_state=42, stratify=self._target)
File "/usr/local/lib/python3.8/dist-packages/sklearn/model_selection/_split.py", line 2430, in train_test_split
arrays = indexable(*arrays)
File "/usr/local/lib/python3.8/dist-packages/sklearn/utils/validation.py", line 433, in indexable
check_consistent_length(*result)
File "/usr/local/lib/python3.8/dist-packages/sklearn/utils/validation.py", line 387, in check_consistent_length
raise ValueError(
ValueError: Found input variables with inconsistent numbers of samples: [409, 400]
dataset -v make elf-upx-dataset -f ELF -a -p upx -n 400 -s /mnt/share/dataset-packed-elf/not-packed
...
model train elf-upx-dataset --algorithm dt
00:00:01.735 [INFO] Selected algorithm: Decision Tree
00:00:01.736 [INFO] Reference dataset: elf-upx-dataset(ELF64)
00:00:01.737 [INFO] Computing features...
Traceback (most recent call last):
File "/opt/tools/model", line 117, in <module>
getattr(m, args.command)(**vars(args))
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/model.py", line 511, in train
if not self._prepare(**kw):
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/model.py", line 218, in _prepare
__parse(ds.files.listdir(is_executable), False)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/model.py", line 201, in __parse
self._features.update(exe.features)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/executable.py", line 42, in __getattribute__
return super(Executable, self).__getattribute__(name)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/executable.py", line 82, in features
return {n: FEATURE_DESCRIPTIONS.get(n, "") for n in self.data.keys()}
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/executable.py", line 42, in __getattribute__
return super(Executable, self).__getattribute__(name)
File "/usr/lib/python3.8/functools.py", line 967, in __get__
val = self.func(instance)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/executable.py", line 56, in data
data, done, tbd = {k: v for k, v in self.rawdata.items()}, [], {}
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/executable.py", line 42, in __getattribute__
return super(Executable, self).__getattribute__(name)
File "/usr/lib/python3.8/functools.py", line 967, in __get__
val = self.func(instance)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/executable.py", line 90, in rawdata
r = func(self)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/features/common.py", line 33, in _wrapper
return f(binary, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/features/common.py", line 44, in <lambda>
section_characteristics = _parse_binary(lambda exe: str([_chars(s) for s in exe.sections]))
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/features/common.py", line 44, in <listcomp>
section_characteristics = _parse_binary(lambda exe: str([_chars(s) for s in exe.sections]))
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/features/common.py", line 38, in <lambda>
_chars = lambda s: (s.name, {k: getattr(s, k) for k in CHARACTERISTICS})
File "/usr/local/lib/python3.8/dist-packages/pbox/learning/features/common.py", line 38, in <dictcomp>
_chars = lambda s: (s.name, {k: getattr(s, k) for k in CHARACTERISTICS})
AttributeError: 'lief.ELF.Section' object has no attribute 'characteristics'
Maybe i have totaly miss something?