DPHistogram Component returns True has type <class 'numpy.bool_'>, but expected one of: (<class 'bool'>, <class 'numbers.Integral'>)

Mohsen Sichani 46 Reputation points
2021-05-03T02:02:19.69+00:00

Hi there,

I am running the below code from here but getting a strange error, how can I fix the issue

ages = list(range(0, 130, 10))  
age = diabetes.Age  
with sn.Analysis() as analysis:  
	data = sn.Dataset(path = data_path, column_names = cols)  

	age_histogram = sn.dp_histogram(  
		sn.cast(data['Age'], atomic_type='int', lower=0, upper=120),  
		edges = ages,  
		upper = 1000,  
		null_value = -1,  
		privacy_usage = {'epsilon': 0.5}  
		)  
	  
analysis.release()  
plt.ylim([0,100])  
width=4  
agecat_left = [x + width for x in ages]  
agecat_right = [x + 2*width for x in ages]  
plt.bar(list(range(0,120,10)), n_age, width=width, color='blue', alpha=0.7, label='True')  
plt.bar(agecat_left, age_histogram.value, width=width, color='orange', alpha=0.7, label='Private')  
plt.legend()  
plt.title('Histogram of Age')  
plt.xlabel('Age')  
plt.ylabel('Frequency')  
plt.show()  

print(age_histogram.value)  

and the error

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)
<ipython-input-67-ed764f55a5fe> in <module>
10 )
11
---> 12 analysis.release()

~\anaconda3\lib\site-packages\opendp\smartnoise\core\base.py in release(self)
799 response_proto: api_pb2.ResponseRelease.Success = core_library.compute_release(
800 serialize_analysis(self),
--> 801 serialize_release(self.release_values),
802 self.stack_traces,
803 serialize_filter_level(self.filter_level))

~\anaconda3\lib\site-packages\opendp\smartnoise\core\value.py in serialize_release(release_values)
103 def serialize_release(release_values):
104 return base_pb2.Release(
--> 105 values={
106 component_id: serialize_release_node(release_node)
107 for component_id, release_node in release_values.items()

~\anaconda3\lib\site-packages\opendp\smartnoise\core\value.py in <dictcomp>(.0)
104 return base_pb2.Release(
105 values={
--> 106 component_id: serialize_release_node(release_node)
107 for component_id, release_node in release_values.items()
108 if release_node['value'] is not None

~\anaconda3\lib\site-packages\opendp\smartnoise\core\value.py in serialize_release_node(release_node)
112 def serialize_release_node(release_node):
113 return base_pb2.ReleaseNode(
--> 114 value=serialize_value(
115 release_node['value'],
116 release_node.get("value_format")),

~\anaconda3\lib\site-packages\opendp\smartnoise\core\value.py in serialize_value(value, value_format)
210 array=value_pb2.Array(
211 shape=list(array.shape),
--> 212 flattened=serialize_array1d(array.flatten())
213 ))
214

~\anaconda3\lib\site-packages\opendp\smartnoise\core\value.py in serialize_array1d(array)
152
153 return value_pb2.Array1d(**{
--> 154 data_type: container_type(data=list(array))
155 })
156

~\anaconda3\lib\site-packages\google\protobuf\internal\python_message.py in init(self, **kwargs)
551 field_value = [_GetIntegerEnumValue(field.enum_type, val)
552 for val in field_value]
--> 553 copy.extend(field_value)
554 self._fields[field] = copy
555 elif field.cpp_type == _FieldDescriptor.CPPTYPE_MESSAGE:

~\anaconda3\lib\site-packages\google\protobuf\internal\containers.py in extend(self, elem_seq)
283 raise
284
--> 285 new_values = [self._type_checker.CheckValue(elem) for elem in elem_seq_iter]
286 if new_values:
287 self._values.extend(new_values)

~\anaconda3\lib\site-packages\google\protobuf\internal\containers.py in <listcomp>(.0)
283 raise
284
--> 285 new_values = [self._type_checker.CheckValue(elem) for elem in elem_seq_iter]
286 if new_values:
287 self._values.extend(new_values)

~\anaconda3\lib\site-packages\google\protobuf\internal\type_checkers.py in CheckValue(self, proposed_value)
135 message = ('%.1024r has type %s, but expected one of: %s' %
136 (proposed_value, type(proposed_value), self._acceptable_types))
--> 137 raise TypeError(message)
138 # Some field types(float, double and bool) accept other types, must
139 # convert to the correct type in such cases.

TypeError: True has type <class 'numpy.bool_'>, but expected one of: (<class 'bool'>, <class 'numbers.Integral'>)

Azure Machine Learning
Azure Machine Learning
An Azure machine learning service for building and deploying models.
3,336 questions
{count} votes

1 answer

Sort by: Most helpful
  1. Carlos Mauro Osorio 1 Reputation point
    2021-06-06T20:06:41.193+00:00

    I'm having the same error when doing 13 - Explore Diferential privacy.ipynb from the exam DP-100. Is this issue solved yet? 🥺


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.