CSAILVision / CSAILVision/gandissect

'EasyDict' object has no attribute 'settings' when trying to run the server

Open
#16 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
1.8k
Forks
276
PR merge metrics
No merged PRs in 30d

Description

Hi, i have been trying to run the server however i have been given this bug:
'EasyDict' object has no attribute 'settings'.
This happens when the config is passed from server.py into serverstate.py and config.settings is passed into GanTester.
If i print each key in config.keys(), i get the following list:
netname
meta
default_ranking
quantile_threshold
iou_threshold
iqr_threshold
segcolors
layers,
none of them being settings. Am i missing something here?
i have tried importing and running server.py in google colab as well as using the command line interface and getting the same bug for both.

Edit1: I have realised why i don't have a settings attribute. In the __main__ file, the settings is created by creating a dictionary of all the arguments passed in when running netdissect on the command line. The generate_report() function in dissection.py will pass the settings into dissect.json which is the config that is passed into load_projects() but only if there is a value for settings. The value for settings is defaulted to None and since i'm importing dissection.py into google colab, the settings value doesn't change and isn't passed into the top_record dictionary which stores the report. Therefore, config.settings doesn't exist and so i get the bug from above. I am going to work on editing the dissection code so that it adds a settings field to the report. If i can get that working, i will post the updated version here so that people are able to dissect a model and load the server to view the dissection without using the command line.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.