Соединение классов делегата в Objective C

Краткое пояснение

VALID: не применяйте никаких дополнений, т. е. допускайте, чтобы все размеры были действительными, чтобы входное изображение полностью покрывалось фильтром и шагом, указанным вами.

SAME: Применить заполнение для ввода (если необходимо), чтобы входное изображение полностью покрывалось фильтром и шагом, указанным вами. Для шага 1 это гарантирует, что размер выходного изображения будет таким же, как и вход.

Примечания

  • Это относится как к слоям coov, так и к максимальным пулам таким же образом
  • Термин «действительный» является немного неправильным, потому что вещи не становятся «недействительными», если вы отбрасываете часть изображения. Иногда может понадобиться это. Вероятно, это должно было бы называться «NO_PADDING».
  • Термин «тот же» является неправильным, потому что он имеет смысл только для шага 1, когда размерность вывода такая же, как и размер входного сигнала. Например, для шага 2 выходные размеры будут наполовину.
  • В режиме SAME (т. Е. В режиме автонастройки) Tensorflow будет пытаться равномерно распределять отступы как слева, так и справа.
  • В режиме VALID (т. Е. Без дополнительного режима) Tensorflow будет падать вправо и / или нижние ячейки, если ваш фильтр и шаг не будут полностью заполнены.
7
задан The Archetypal Paul 10 November 2008 в 14:34
поделиться

3 ответа

Можно добавить выходы от любого делегата в другом делегате. Существует два способа добавить торговую точку к объекту в IB (предполагающий использование версии 3.0 Xcode/IB или позже:

  1. Если Вы еще не сгенерировали код для своих классов делегата, выберите желаемого делегата, то откройте вкладку "Object Identity" в инспекторе IB. Добавьте "Торговую точку класса" типа NSObject. Необходимо затем смочь установить этот новый выход на другого делегата. Конечно, необходимо будет сгенерировать код для класса делегата и добавить сгенерированные исходные файлы к проекту XCode, прежде чем можно будет загрузить перо.

  2. Если Вы уже сгенерировали код для класса делегата (или добавили NSObject к Вашему NIB и установили его Класс на существующий класс в Вашем проекте XCode), добавьте переменную экземпляра к классу делегата:

    IBOutlet id outletToOtherDelegate;

    Пока Ваш проект XCode открыт (как обозначено зеленым пузырем в нижнем левом из Вашего окна NIB), IB автоматически обнаружит новый выход и позволит Вам присваивать его другому объекту делегата в Вашем NIB.

Какао автоматически соединяет эти выходы во время загрузки NIB. Однажды awakeFromNib назван на экземплярах Ваших объектов делегата, можно предположить, что все другие объекты в NIB инстанцировали, и все выходы были соединены. Вы не должны принимать порядок на вызовы к awakeFromNib,как бы то ни было.

8
ответ дан 7 December 2019 в 01:28
поделиться

Я думаю, что можно создать выходы на каждом и перекрестный связать их так, чтобы у каждого из них были те же данные все время. Если существует один объект модели, они должны совместно использовать, это довольно опрятно. Я на самом деле не знаю, как сделать это; я думаю, что видел его в учебном руководстве iPhone одно время!

1
ответ дан 7 December 2019 в 01:28
поделиться

У меня нет своего Mac передо мной в настоящее время, так как я работаю, но было бы возможно связать экземпляр одного делегата в члене другого делегата? Это было бы подобно привязке NSArrayController члену другого класса контроллера, например.

Однако в зависимости от того, что делают классы делегата, если бы задачи подобны, я, вероятно, просто объединил бы их в однажды класс. Это устранило бы проблему в целом.

1
ответ дан 7 December 2019 в 01:28
поделиться