# Is there an SDR encoder development Guide?

**URL:** <https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472>\
**Category:** NuPIC\
**Created:** [September 4, 2018, 11:26am UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472 "2018-09-04T11:26:33Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jose\_Cueto](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/jose_cueto/32/4052_2.png) [@Jose\_Cueto](https://discourse.numenta.org/u/Jose_Cueto)\
**Post date:** [September 4, 2018, 11:26am UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/1 "2018-09-04T11:26:33Z")

</div>

Hi guys,

Is there a general guide out there for developing SDR encoders? Or perhaps a test suite for testing valid/acceptable generated SDRs?

Cheers

---

<div class="post-metadata">

**Author:** ![rhyolight](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/rhyolight/32/3922_2.png) [@rhyolight](https://discourse.numenta.org/u/rhyolight)\
**Post date:** [September 4, 2018, 3:41pm UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/2 "2018-09-04T15:41:28Z")

</div>

There is no test suite. You’ll have to figure out if the semantics work out by testing it yourself. Sometimes I compare the minicolumn activations the SP creates to previously seen output for the similar input and make sure there is a high overlap. That at least tells you that the SP is recognizing your semantics. You can see an [example of that here](https://youtu.be/rHvjykCIrZM?t=9m49s).

Also, for resources, be sure to search the forum. Lots of stuff about encoders here.

> [@NuPIC Encoders](https://discourse.numenta.org/t/nupic-encoders/2153):
>
> See [HTM School](http://numenta.org/htm-school/) for an introduction to several types of encoders in these two videos: [Scalar Encoding HTM School Video](https://www.youtube.com/watch?v=V3Yqtpytif0)[Datetime Encoding HTM School Video](https://www.youtube.com/watch?v=PTYlge2K1G8) Encoder Resources [Encoding Data for HTM Systems](http://arxiv.org/abs/1602.05925)[Geospatial Coordinate Encoder](https://www.youtube.com/watch?v=KxxHo-FtKRo)[Random Distributed Scalar Encoder](https://www.youtube.com/watch?v=_q5W2Ov6C9E)[Beginner’s Guide to NuPIC](https://www.youtube.com/watch?v=BCwOgbSSDM4) When creating an encoder, the main focus is to make sure the semantics of the particular data type are captured. Specifically, this means that similar values should have a lot of overlapping 1’s in their …

Also, there is this document called [Building HTM Systems](https://buildinghtm.systems/encoders/) I’m actively working on, which has a section on encoders.

---

<div class="post-metadata">

**Author:** ![nonomnismoriar](https://avatars.discourse-cdn.com/v4/letter/n/e47774/32.png) [@nonomnismoriar](https://discourse.numenta.org/u/nonomnismoriar)\
**Post date:** [September 4, 2018, 5:25pm UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/3 "2018-09-04T17:25:20Z")

</div>

Thanks for this, I am keen to use SDR’s but have struggled finding time to really focus on the subject matter and get a use case of my own working.

Can I offer my assistance with your Building HTM Systems documentation?

I am a solutions architect and coder so could probably assist with documentation, proof reading and code examples.

---

<div class="post-metadata">

**Author:** ![Jose\_Cueto](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/jose_cueto/32/4052_2.png) [@Jose\_Cueto](https://discourse.numenta.org/u/Jose_Cueto)\
**Post date:** [September 4, 2018, 10:10pm UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/4 "2018-09-04T22:10:40Z")

</div>

Thank you very much for the response and the references. These are very helpful. My goal and as an exercise is to try write an encoder for an image data or perhaps sound data. I’ll start reading on the documentation you are building.

---

<div class="post-metadata">

**Author:** ![rhyolight](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/rhyolight/32/3922_2.png) [@rhyolight](https://discourse.numenta.org/u/rhyolight)\
**Post date:** [September 4, 2018, 10:13pm UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/5 "2018-09-04T22:13:14Z")

</div>

Some further resources for you:

> [@Jose\_Cueto](#):
>
> My goal and as an exercise is to try write an encoder for an image data

Read: [Encoding vision for HTM](https://discourse.numenta.org/t/encoding-vision-for-htm/2780)

> [@Jose\_Cueto](#):
>
> or perhaps sound data.

Read: [New Frequency Encoder (a.k.a. Cochlea Encoder)](https://discourse.numenta.org/t/new-frequency-encoder-a-k-a-cochlea-encoder/2015)

---

<div class="post-metadata">

**Author:** ![dub3](https://avatars.discourse-cdn.com/v4/letter/d/dc4da7/32.png) [@dub3](https://discourse.numenta.org/u/dub3)\
**Post date:** [September 4, 2018, 10:18pm UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/6 "2018-09-04T22:18:36Z")

</div>

There are some links at [HTM School](https://numenta.org/htm-school/) under “More Encoder Resources”, if you haven’t found them already.

---

<div class="post-metadata">

**Author:** ![Jose\_Cueto](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/jose_cueto/32/4052_2.png) [@Jose\_Cueto](https://discourse.numenta.org/u/Jose_Cueto)\
**Post date:** [September 5, 2018, 3:25am UTC](https://discourse.numenta.org/t/is-there-an-sdr-encoder-development-guide/4472/7 "2018-09-05T03:25:45Z")

</div>

@rhyolight and @dub3 Cheers
