Здравствуйте, Ночной Смотрящий, Вы писали:
N>>C# Interactive? Недавно появилось НС>Недавно? Больше 2 лет назад. А Roslyn, на базе которого оно сделано, еще раньше.
В Питоне оно всегда было, а шарп был не приспособлен к такому до последних версий.
N>> и не сравним с jupyter. НС>При чем тут язык? То ли в jupyter, то ли в zeppelin есть джава, а там с repl все печальнее.
Скала там, в которой repl с рождения, но поддержка языка очень разная. Для питона есть визуализаторы всего на свете. Это можно было бы решить, но победил как всегда NIH и в результате имеем скальный форк, ака zeppelin.
N>>C# Interactive? НС>LWCG. Тоже будешь говорить, что недавно появилось?
не знаю что это такое, гыгл не помог, дай ссылку pls. Hot code swap?
Коробочный репл в Скале надо перезапускать, если добавил функционал в jar. Если все развернуто в ИДЕА тоже. Она вроде путается что-то там сделать под отладчиком, но у нас это не работает. Возможно наши тараканы — используем свои плагины к компилятору и т.д. В Питоне ты просто делаешь reload, отладчик и ide не нужен.
Здравствуйте, novitk, Вы писали:
НС>>Недавно? Больше 2 лет назад. А Roslyn, на базе которого оно сделано, еще раньше. N>В Питоне оно всегда было
Ну было и было. Речь то про сейчас.
N>, а шарп был не приспособлен к такому до последних версий.
Последние это 3+, да? 12 лет с тех пор прошло, однако.
N>>>C# Interactive? НС>>LWCG. Тоже будешь говорить, что недавно появилось? N>не знаю что это такое, гыгл не помог, дай ссылку pls. Hot code swap?
Lightweight code generation. Да и до него никто не мешал сборки без файлов на диске генерить. Ну а с roslyn все стало совсем просто.
Здравствуйте, Ночной Смотрящий, Вы писали:
N>> При всём при этом он во многом ориентирован на Питонистов (можно использовать вместе с numpy). НС>C С# там тоже все неплохо и получается не сильно многословнее Питона.
Да, я знаю. Для С++ тоже есть API. И этого хорошо для библиотеки, но плохо для C#, потому что мало кто согласится на него пересаживаться, если можно пользоваться привычными инструментами.
Здравствуйте, Ночной Смотрящий, Вы писали:
N>>В Питоне оно всегда было НС>Ну было и было. Речь то про сейчас.
Давай про "сейчас". Что мне надо сделать чтобы запустить "нормальный"(моно не катит) C# Interactive в Убунте?
N>>, а шарп был не приспособлен к такому до последних версий. НС>Последние это 3+, да?
Да. С Roslyn(July 2015) можно вести отчет.
НС>Lightweight code generation. Да и до него никто не мешал сборки без файлов на диске генерить. Ну а с roslyn все стало совсем просто.
Есть функция аналогичная imp.reload для перегрузки сборки в С# interactive?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Не совсем так. Есть, как минимум, CNTK.
По тому, что я видел, он больше похож на "а мы тоже можем", этакий своеобразный продукт наличия синдрома NIH, поражающего многие компании.
В самом MS он тоже не везде прижился и некоторые группы по-тихому переходят на, к примеру, TensorFlow.
Вся надежда, как часто в последнее время у MS, на Гатри :)
Twas brillig, and the slithy toves
Did gyre and gimble in the wabe
Здравствуйте, Nuzhny, Вы писали:
N>2. Потом модели переносятся в продакшен уже на С++, inference нейросетей работает на opencv_dnn (если CPU) и на TF + cudnn (если GPU). Для TF используется его С++ API. Для всех моделей есть С++ API, мы их вызываем иногда сотни раз на один кадр видео, поэтому тут вариантов нет.
Интересно, а есть ли место TensorFlow Serving в сходном с вашим процессе?
Он по идее как раз призван заменить работу с моделями напрямую, предоставляя нечто в виде application server для специально экспортированных/облегченных моделей и выставляя наружу gRPC, чтобы с ними общаться.
Или есть способы делать это лучше, "руками"?
Twas brillig, and the slithy toves
Did gyre and gimble in the wabe
Здравствуйте, novitk, Вы писали:
НС>>Ну было и было. Речь то про сейчас. N>Давай про "сейчас". Что мне надо сделать чтобы запустить "нормальный"(моно не катит) C# Interactive в Убунте?
Roslyn это не язык, это набор инструментария.
НС>>Lightweight code generation. Да и до него никто не мешал сборки без файлов на диске генерить. Ну а с roslyn все стало совсем просто. N>Есть функция аналогичная imp.reload для перегрузки сборки в С# interactive?
Перегружать ничего не нужно. Генеришь новую, старую прибирает GC.
Здравствуйте, Nuzhny, Вы писали:
N>Да, я знаю. Для С++ тоже есть API. И этого хорошо для библиотеки, но плохо для C#, потому что мало кто согласится на него пересаживаться, если можно пользоваться привычными инструментами.
А речь пока не про пересаживание, а про приобщение к теме огромной массы дотнет-разработчиков.
Здравствуйте, Ночной Смотрящий, Вы писали:
N>>Давай про "сейчас". Что мне надо сделать чтобы запустить "нормальный"(моно не катит) C# Interactive в Убунте? НС>https://msdn.microsoft.com/en-us/magazine/mt808499.aspx
CSI вроде часть VS2015+/.NET, a не VSCode/Core?
N>>Да. С Roslyn(July 2015) можно вести отчет. НС>Roslyn это не язык, это набор инструментария.
Ну да, только раньше этого инструментария не было и надо было запускать компилятор на каждый Enter.
НС>Перегружать ничего не нужно. Генеришь новую, старую прибирает GC.
Возможно наличие обьектов единовременно одного класса А из новой и старой сборки? В питоне возможно, но в статике мне сложно представить правильное поведение.
Здравствуйте, jabberwock, Вы писали:
J>Интересно, а есть ли место TensorFlow Serving в сходном с вашим процессе? J>Он по идее как раз призван заменить работу с моделями напрямую, предоставляя нечто в виде application server для специально экспортированных/облегченных моделей и выставляя наружу gRPC, чтобы с ними общаться. J>Или есть способы делать это лучше, "руками"?
Для видео — вряд ли. Для аэрофотоснимков — вполне. Но я не использовал ни разу, всё ручками
Ты в курсе что такое .Net Core? И при чем тут VSCode?
НС>>Перегружать ничего не нужно. Генеришь новую, старую прибирает GC. N>Возможно наличие обьектов единовременно одного класса А из новой и старой сборки?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Ты в курсе что такое .Net Core? И при чем тут VSCode?
CSI это вроде компонента в полной студии, а не консольное приложение, работающее в Core, но может я и не прав.
N>>Возможно наличие обьектов единовременно одного класса А из новой и старой сборки? НС>Да. В рантайме это будут разные классы.
t0: >Klass a = new Klass
t1: [пересоздал/перезагрусил сборку, где у А появился новый член f]
t2: >Klass b = new Klass
что будет при выполнении ">а.f", ">b.f", "b = a"?
Здравствуйте, serj.e, Вы писали:
SE>Жаль, что мир стал забывать годнейшую "APL–family". J, K, Q, kdb+, вот это все. Лучшие же ж инструменты для ворочания данными в плане скорости прототипирования подготовленным человеком.
И слава богу...Лучше потратить время на улучшение механики слепой печати, чем использовать их закорюки.
SE>Думаю, в первых рядах причин такого безобразия — уход в глухую проприетарщину и "камерность" соответствующих инструментов в свое время.
J вроде ОSS.
Здравствуйте, novitk, Вы писали:
НС>>Ты в курсе что такое .Net Core? И при чем тут VSCode? N>CSI это вроде компонента в полной студии, а не консольное приложение, работающее в Core, но может я и не прав.
Аналог CSI на базе Розлина я делал за час.
N>>>Возможно наличие обьектов единовременно одного класса А из новой и старой сборки? НС>>Да. В рантайме это будут разные классы. N>t0: >Klass a = new Klass N>t1: [пересоздал/перезагрусил сборку, где у А появился новый член f] N>t2: >Klass b = new Klass N>что будет при выполнении ">а.f", ">b.f",
Что такое f и что означают твои записи?
N> "b = a"?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Аналог CSI на базе Розлина я делал за час.
Про час lol, ну да ладно. Я правильно понимаю, что никакого репла в .core из коробки до сих пор нет?
N>> "b = a"? НС>TypeCastException
Ну типа да, поэтому нужно все на свете использующее Klass перегружать в случае статики, а в динамике нет. Чувствуешь разницу?