Они тренируют модель на патчах 70x70, а потом применяют на больших картинках через full convolution. Забавно, что 70x70 дает в среднем результаты лучше, чем делать сразу на всей картинке 256x256 целиком.
Судя по «пейпер», это не совсем так. Речь идет об архитектуре дискриминатора, а не об обучении модели на маленьких картинках. Смысл — если сравнивать фейк и рил попиксельно, то результат будет хуже, чем если сравнивать изображения, нарезанные на патчи 70х70. Там это называет receptive field sizes of the discriminator.
Здравствуйте! Код выложил весь, должно запускаться на Colab прямо из репозитария. На 8Гб не пробовал, думаю, должно хватить. У меня в 8 помещается RuBERT при размере текста в 64 токена, а там в 6 раз больше параметров. В крайнем случае попробуйте другую модель. В этой статье трансформер из отдельных блоков, но по сути это TransformerLM из репозитария trax, можно попробовать ReformerLM, он как раз сделан чтобы экономить память. Вот здесь я с ним экспериментирую. Правда он капризничает при загрузке весов. Написал в статье как справиться.
Кроме этого, все шумовые признаки имеют высокую важность, сравнимую с двумя оригинальными
0.04 — достаточно низкая важность. Признак, во всех узлах, где на его основе происходит разбиение, снижает impurity на 4% от общего снижения по всем узлам и всем признакам. Если говорить о шумовых признаках, то есть более простой способ — пермутация значений в колонке исследуемого признака. Разница между качеством модели и средним качеством после нескольких пермутаций как раз дает примерную оценку важности. Этот способ часто используется в задачах с медицинскими данными.
Для того чтобы что-то попробовать, на мой взгляд вполне подходящий. А Вы по каким критериям судите? Логика диалога соблюдается, может слишком много оборотов типа «А у тебя?», «А ты?» Но я бы наверно «пожаловался» на не слишком удачный формат и сложною фильтрацию, если нужна. Мне попадался датасет с диалогами из советской литературы, вот там действительно треш).
LED в новой версии уже не цветные, а белые, во всяком случае нет ни одного штатного режима, который показал бы обратное. Подозреваю, что теперь предусмотрен только один режим — индикация значения по схеме: первый мигает — остальные выключены, первый включен — второй мигает, два включены — третий мигает, три включены. Индикация работает при спаривании со смартфоном, заряде батареи и контроле прогресса (взмахом руки).
Что касается акселерометра, данные можно было получить в старой версии в режиме нотификации. Сейчас не понятно по какому адресу искать. Анализ трафика показывает, что смартфон разрешает браслету четыре нотификации, одна из которых это сердечный ритм. Можно посмотреть на три оставшиеся. Если получится, проверю и сделаю update.
Анонимное устройство не может получить пульс, но может его подслушать. Также нельзя скачать с браслета данные пользователя (но тоже можно подслушать), остальное раздается всем кто попросит. Используется минимальный уровень безопасности, хотя, например, уже на следующем уровне — middle, данные начинают шифроваться.
Вроде можно мерить непрерывно, используя приложение в смартфоне (не пробовал). Но нужно понимать, что измерение пульса при помощи оптического датчика отличается от режима измерения нагрудным датчиком, если он электрокардиографический. Цикл измерения браслетом это примерно 15 секунд, потом данные усредняются и отправляются в виде нотификации. Есть не мало моделей браслетов, которые начинают измерять пульс непрерывно, после нажатия кнопки на браслете.
Поясните пожалуйста, что вас интересует. Использование user info из телефона? Вот:
Один из исследователей предыдущей версии браслета в своем блоге написал, что не все сервисы могут быть доступны анонимному устройству. Насколько я смог разобраться, в ряде случаев устройство, взаимодействующее с браслетом, должно передать в браслет корректную информацию о пользователе, которая частично хешируется при спаривании со смартфоном.
Еще вот:
Соединение в интерактивном режиме без спаривания обычно длится секунд 20. Это так называемый низкий уровень секретности
Браслет с малиной работает без спаривания, это security=low в gatttool по умолчанию.
Практически вся информация с браслета доступна любому анонимному устройству, кроме измерения пульса, для этого нужно представиться телефоном и отправить на браслет данные пользователя.
Да, работа с малиной не портит профиль браслета в телефоне, так как используется user info телефона. Собственно, браслет «думает», что малина — это телефон. Ретранслятор? Я не подобрал правильного термина — задача малины принять данные от браслета и передать в облако.
Разобрать MIBand не думал, на форумах пишут, что производитель её всё больше обфусцирует с каждой новой версией. Смысл, если все потом передается в открытом виде? Да, есть еще очень много интересного, чего не попробовал, PyGATT, например, или вот ребята пишут мибанду (https://bitbucket.org/OscarAcena/mibanda) — библиотеку для доступа к браслету из Python. NodeJS — очень интересно, обязательно посмотрю, спасибо.
Спасибо, не знал что такой путь есть. С WireShark-ом у меня не очень, пробовал мой лог из Packet Sniffer конвертировать в pcap и смотреть в WireShark-е. Показалось очень сложно. У Packet Sniffer очень простой интерфейс. И неудобный, фильтры работаю почему-то не всегда, приходится просматривать от начала до конца. Но всё очень наглядно.
void ReadWord(char *word, FILE *fin) {
int a = 0, ch;
while (!feof(fin)) {
ch = fgetc(fin);
if (ch == 13) continue;
if ((ch == ' ') || (ch == '\t') || (ch == '\n')) {
if (a > 0) {
if (ch == '\n') ungetc(ch, fin);
break;
}
if (ch == '\n') {
strcpy(word, (char *)"</s>");
return;
} else continue;
}
word[a] = ch;
a++;
if (a >= MAX_STRING - 1) a--; // Truncate too long words
}
word[a] = 0;
}
Из кода видно, что EOL может и не быть в файле, а значит моя фраза абсолютно корректна.
Теперь, что будет, если EOL в файле есть.
Он заменяется на специальное слово:
</s>
Это слово не участвует в расчете частоты, поэтому не выбрасывается из словаря и всегда находится в его начале. Если EOL в тексте несколько, меняется распределение слов, находящихся рядом с EOL. Вот расчет дистанции, если EOL только один:
Word: </s> Position in vocabulary: 0
Word CosDist
1 factor 0.3524520
2 frightening 0.3380254
3 admit 0.3336470
4 scary 0.3289483
5 scariest 0.3148671
6 prom 0.3142520
7 time 0.3083785
8 paranormal 0.3076151
9 cheesy 0.3073355
10 impressed 0.3042146
А вот, если три (текст тот же самый, просто я добавил три EOL):
Я попробовал сейчас на скорую руку просто ввести два абзаца в строку обучающей выборки, ничего заметно не изменилось. Пространство слов из word2vec — это матрица, первый столбец — слова из словаря, начиная со второго по последний — значения компонент вектора. Есть вероятность, что эти значения меняются для слов, которые находятся между переводом строки, но это сложно увидеть. Если получу подтверждение, напишу update.
0.04 — достаточно низкая важность. Признак, во всех узлах, где на его основе происходит разбиение, снижает impurity на 4% от общего снижения по всем узлам и всем признакам. Если говорить о шумовых признаках, то есть более простой способ — пермутация значений в колонке исследуемого признака. Разница между качеством модели и средним качеством после нескольких пермутаций как раз дает примерную оценку важности. Этот способ часто используется в задачах с медицинскими данными.
0xFF0E read notify SENSOR_DATA, и всё.
Что касается акселерометра, данные можно было получить в старой версии в режиме нотификации. Сейчас не понятно по какому адресу искать. Анализ трафика показывает, что смартфон разрешает браслету четыре нотификации, одна из которых это сердечный ритм. Можно посмотреть на три оставшиеся. Если получится, проверю и сделаю update.
Еще вот:
Браслет с малиной работает без спаривания, это security=low в gatttool по умолчанию.
Практически вся информация с браслета доступна любому анонимному устройству, кроме измерения пульса, для этого нужно представиться телефоном и отправить на браслет данные пользователя.
Вот так модель считывает слова из файла:
Из кода видно, что EOL может и не быть в файле, а значит моя фраза абсолютно корректна.
Теперь, что будет, если EOL в файле есть.
Он заменяется на специальное слово: Это слово не участвует в расчете частоты, поэтому не выбрасывается из словаря и всегда находится в его начале. Если EOL в тексте несколько, меняется распределение слов, находящихся рядом с EOL. Вот расчет дистанции, если EOL только один:
Word: </s> Position in vocabulary: 0 Word CosDist 1 factor 0.3524520 2 frightening 0.3380254 3 admit 0.3336470 4 scary 0.3289483 5 scariest 0.3148671 6 prom 0.3142520 7 time 0.3083785 8 paranormal 0.3076151 9 cheesy 0.3073355 10 impressed 0.3042146А вот, если три (текст тот же самый, просто я добавил три EOL):
А теперь попробуйте из этого что-то понять про абзацы внутри текста.
Удачи!
Я попробовал сейчас на скорую руку просто ввести два абзаца в строку обучающей выборки, ничего заметно не изменилось. Пространство слов из word2vec — это матрица, первый столбец — слова из словаря, начиная со второго по последний — значения компонент вектора. Есть вероятность, что эти значения меняются для слов, которые находятся между переводом строки, но это сложно увидеть. Если получу подтверждение, напишу update.