Наследование приложений в новом задании

Чтобы сохранить интервалы сохранения и количество контрольных точек, посмотрите здесь: https://www.tensorflow.org/api_docs/python/tf/train/Saver

От ссылка выше
-> max_to_keep
-> keep_checkpoint_every_n_hours

Кроме того, дополнительные аргументы для конструктора Saver () позволяют контролировать распространение файлов контрольных точек на диске :

max_to_keep указывает максимальное количество последних файлов контрольных точек для сохранения. По мере создания новых файлов старые файлы удаляются. Если None или 0, никакие контрольные точки не удаляются из файловой системы, а только последняя сохраняется в файле контрольных точек. По умолчанию 5 (то есть 5 самых последних файлов контрольных точек.)

keep_checkpoint_every_n_hours: В дополнение к сохранению самых последних файлов контрольных точек max_to_keep, вы можете захотеть сохранить один файл контрольных точек на каждые N часов обучения , Это может быть полезно, если вы хотите позже проанализировать, как прогрессировала модель во время длительной тренировки. Например, передача keep_checkpoint_every_n_hours = 2 гарантирует, что вы сохраняете один файл контрольных точек на каждые 2 часа обучения. Значение по умолчанию 10000 часов фактически отключает эту функцию.

blockquote>

Я полагаю, что вы можете сослаться на это в конфигурации обучения, если вы ее используете. Оформить заказ файл trainer.py в том же устаревшем каталоге. Вокруг строки 375 он ссылается на keep_checkpoint_every_n_hours ->

# Save checkpoints regularly.
keep_checkpoint_every_n_hours = train_config.keep_checkpoint_every_n_hours
saver = tf.train.Saver(keep_checkpoint_every_n_hours=keep_checkpoint_every_n_hours)

. Он не ссылается на строку max_to_keep, которую, возможно, потребуется добавить в этот скрипт. Тем не менее, в заключение, хотя трудно быть уверенным без всей информации, но я не могу не думать, что вы идете по этому поводу неправильно. Сбор каждого контрольного пункта и проверка не являются правильным способом преодоления трудностей. Запустите тензорную доску и проверьте там результаты своих тренировок. Кроме того, выполнение некоторой оценки с использованием модели с оценочными данными также позволит лучше понять, что делает ваша модель.

Всего наилучшего в ваших тренировках!

6
задан Jay Bazuzi 29 January 2009 в 16:18
поделиться

17 ответов

Если существуют стандарты, очевидные в коде, необходимо придерживаться их. Если нет, начните представлять свое собственное.

21
ответ дан 8 December 2019 в 02:03
поделиться

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

Если люди будут ожидать, что я уделю время и оценки затрат добавлению функциональности к коду, то я должен буду быть глубоко знакомым это и удостовериться, что это соответствует моим стандартам.

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

1
ответ дан 8 December 2019 в 02:03
поделиться

Я думаю, что это зависит высоко от конкретного случая.

  • Если Вы - консультант по вопросам проекта в течение короткого времени, необходимо придерживаться способа, которым вещь.
  • Если Вы идете в течение долгого времени. Попытайтесь осуществить рефакторинг плохой код в свою собственную схему.
  • Если Вы идете в течение короткого времени, но Вы работаете над изолированным модулем, то используйте свою собственную схему.
1
ответ дан 8 December 2019 в 02:03
поделиться

Короткий ответ, "Он зависит". Вот несколько факторов, которые я считал бы важным в определении, сохранить ли старый стиль или нет:

1) Объем изменений. Если это близко к общему количеству, переписывают приложения, то может иметь больше смысла вставлять новый стандарт, если у Вас есть тот, что Вы чувствуете работы хорошо для Вас.

2) Вероятность будущих изменений. Это будет изменено много раз? Если так, затем занимание время вначале может стоить того в конце. Это действительно требует небольшого количества решения и предсказания будущего, но может быть легко в некоторых случаях видеть, что будут изменения много раз для некоторых систем, которые довольно сложны.

3) Сколько из кода настройка на сторонней кодовой базе, например, определенные настройки компанией продуктов Oracle для их бизнес-процессов, по сравнению с абсолютно приложением собственной разработки. Влияние здесь - то, что, когда новые версии повторно генерируются и обновление требуют, сколько боли может там быть включено, какие повреждения, так как это было настроено так.

При запуске собственных проектов, вставленных в лучший стандарт, который Вы знаете.

1
ответ дан 8 December 2019 в 02:03
поделиться

Это кажется, что мы говорим о ситуации без официальных руководств по стилю / лучшие практики. В этом случае, как Sean сказал, я возьму на себя инициативу в установлении некоторых. Но... если вообще возможный, выберите существующий, широко используемый стандарт. Это, более вероятно, будет принято, все аргументы, покончили, и разногласия out-of-the-box поддержки инструмента (редакторы, кодируйте инструменты обзора, и т.д.) значительно увеличиваются.

Получение других принять его будет часто работать лучше всего из восходящего - пишут новый код к новым стандартам, упоминают другим, что Вы сделали так, попросите обратную связь. Намного легче, чем попытка получить одобрение и закрытие сделки заранее.

В рамках существующего, ужасного проекта избегайте оптовых изменений в существующих модулях. С одной стороны, diffs и управление версиями станет довольно сбивающим с толку, если файл будет внезапно повторно расположен с отступом.

Если блок, Вы продолжаете работать, так плох, что нечитабелен, я сделал бы начальную регистрацию только для переформатирования его; развейте это с фактическими изменениями кода.

1
ответ дан 8 December 2019 в 02:03
поделиться

Я применил бы те же стандарты рефакторинга к коду, как я буду если он соответствие DID мои стандарты стиля. Таким образом, я проигнорировал бы стиль и просто продолжил бы о моем бизнесе.

Если не ужасно трудно следовать за стилем, который находится в коде - относительно соглашений о присвоении имен, я шел бы вперед и использовал бы соглашения о присвоении имен для нового кода.

Однако я не потрудился бы пытаться следовать, материал как 'вкладки не должен использоваться', 'каждая строка должна быть расположена 2 пробелов с отступом', и т.д. Существует много редакторов там, где Вы можете 'симпатичный' код каждый раз, когда Вам нужен он в эти дни.

G-человек

1
ответ дан 8 December 2019 в 02:03
поделиться

Я следую стандартам компании, если существует кто-либо.

Если нет никого, и изменения являются небольшими, я принимаю к используемому стилю кодирования.

Если будут большие изменения, которые будут сделаны, и мне не нравится стиль кодера, то я буду использовать свое собственное. И если существующий код будет плох, то я изменю это также.

1
ответ дан 8 December 2019 в 02:03
поделиться

Если это - просто Вы, пойдите для него. Если это - команда, особенно если какой-либо из исходных разработчиков все еще вокруг (или вероятно быть призванным для консалтинга), оставайтесь с существующим стилем и методами так, как Вы можете. Не следуйте за ними вниз дыра крысы - если Вы думаете, что они делают что-то глупое, изменяют его, но если это - просто стилистическая вещь, придерживайтесь их стиля так, как Вы можете.

На нескольких заданиях я шел, у нас не было правила о стиле кодирования кроме, "если Вы вносите изменения в существующий файл/класс, используйте существующий стиль, даже для нового кода".

1
ответ дан 8 December 2019 в 02:03
поделиться

У Вас когда-либо будет лучшая возможность обновить существующий код со стандартным стилем?Наверное, нет. Когда Вы плохо знакомы с кодом, Вы собираетесь иметь лучшую возможность взятия некоторого дополнительного времени для создания изменений неисправления ошибки и неновой возможности. Отсутствие стандартов может быть обескураживающим, но у Вас вряд ли будет лучший шанс стандартизировать чем тогда, когда Вы сначала наследовали код.

1
ответ дан 8 December 2019 в 02:03
поделиться
  • Если код работает и, кажется, имел чистый формат. Не напрасно тратьте время, изменяя стиль.
  • Если код плохо написан. Любой ценой измените его, когда у Вас есть некоторое время простоя или в следующий раз, когда Вы работаете над проектом.
  • Поскольку новые проекты делают их Ваш путь, так как нет никакого стандарта. Как с другими правильно написанными программами Ваш должно быть достаточно легко поддержать.
2
ответ дан 8 December 2019 в 02:03
поделиться

Учитывая, что большинство приложений, которые я наследовал, было взломано вместе "кодерами ковбоя", которые не применяли даже самое основное из кодирования методов, мое мнение немного смещается.

Я говорю, представляют стандарты кодирования, если нет ни одного или тех, которые существуют, являются очевидно неправильными и/или глупыми (например, "Все переменные должны быть не больше, чем 4 символами в длине", "Каждый столбец базы данных является varchar (255) пустой указатель", и т.д.). Очевидно, если у Вас будет команда затем, то необходимо будет прийти к соглашению относительно того, какие методы реализовать, но если Вы - соло dev затем, у Вас есть полная свобода и IMO, необходимо представить порядок хаосу.

2
ответ дан 8 December 2019 в 02:03
поделиться

Я думаю, что это зависит от того, что Вы подразумеваете "под кодированием методов". Если бы Вы имеете в виду вещи как форматирование кода и соглашения о присвоении имен и вещи, которые я лично считал бы "косметическим", затем придерживаться с тем, что уже там. Если Вы имеете в виду вещи как кодирование лучшего prcatices и написания кода правильно во-первых, то возвратитесь и решите проблемы, если это возможно, но по крайней мере заставьте свой новый код применить лучшие методы.

2
ответ дан 8 December 2019 в 02:03
поделиться

Я заметил, что большинство людей думает, кто бы ни приехал перед ними, понятия не имел, как написать код. Затем, кто бы ни приезжает после них, думает то же самое. Некоторыми вещами является здравый смысл, но большинством вещей является просто персональное предпочтение.

Для основных проблем, т.е. использующих комментариев v.s., не используя комментарии, обновляя код, вероятно, поможет работать с, и легче для кого-либо еще работать с. Даже затем Ваше время, вероятно, лучше всего проведено, обновляя код, поскольку Вы сталкиваетесь с ним, вместо того, чтобы начать огромный проект осуществить рефакторинг все (представление новых проблем в процессе).

Для вещей как добавление отступа, межстрочный интервал, имена переменной, короткая IFS v.s. многострочная IFS, действительность - то, что Ваш стиль кодирования вероятен настолько плохо, как Вы думаете, что их.

3
ответ дан 8 December 2019 в 02:03
поделиться

Я нахожусь в одной лодке как Вы. Одинокий разработчик, который наследовал некоторые приложения от последнего парня. Я

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

3
ответ дан 8 December 2019 в 02:03
поделиться

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

3
ответ дан 8 December 2019 в 02:03
поделиться

Если существует несколько разработчиков, которые работают над тем же модулем, не изменяйте стиль.

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

Если Вы берете полное, эксклюзивное, постоянное владение модуля, изменяете его, но следуете этим правилам:

Одно изменение за один раз.

Прикрепите все добавление отступа к своей симпатии сразу и фиксацию то изменение.

Прикрепите все размещение фигурной скобки к своей симпатии сразу и фиксацию то изменение.

Прикрепите все другое форматирование к своей симпатии сразу и фиксацию то изменение.

Прикрепите все именование к своей симпатии сразу и фиксацию то изменение.

Не проводите много времени на нем.

Если требуется больше чем час или два, то сокращенный.

Ясно дайте понять описание фиксации.

Таким образом, можно быстро проигнорировать эти изменения при анализе истории изменений.

Используйте автоматизированные инструменты

для проверки результат последователен и завершен, таким образом, Вы не должны смешивать с ним снова.

Запустите свои тесты

Просто, потому что Ваши изменения не должны влиять на поведение, не означает, что они не будут. (Трижды отрицательный, ай!)

Удостоверьтесь, что все знают то, что Вы делаете

У кого-то могло бы быть изменение, бродящее вокруг этого, они хотят фиксировать теперь, и это будет болезненно для слияния с изменениями. Кроме того, Вы не хотите, чтобы любой был удивлен, и идете, говорят Вашему боссу, прежде чем Вы сделаете.

Не делайте этого снова

Это - одноразовая вещь.

10
ответ дан 8 December 2019 в 02:03
поделиться

состав часто предпочитается по наследованию

:-P

2
ответ дан 8 December 2019 в 02:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: