Q Press Shu Google a publié une nouvelle technologie de compression d'image, des économies allant jusqu'à 75% de la bande passante, Java 9 introduit AOT mode de compilation, comment le logiciel d'int

Modifier | Ash

Nouvelles de la semaine: Google a publié une nouvelle technologie de compression d'image permet d'économiser jusqu'à 75% de la bande passante, Java 9 introduit AOT mode de compilation, peut diriger les fichiers de classe compilés dans un fichier binaire exécutable, comment le logiciel d'intelligence artificielle aidera l'équipe?

Sur les réseaux sociaux, il y a d'innombrables personnes chaque jour pour partager des photos sont stockées. Mais il y a un vrai problème qu'un grand nombre de photographies en raison des limitations du réseau ont été artificiellement réduit la qualité de l'image compressée.

Et en 2010, après l'iPhone 4S d'Apple a lancé le concept de « rétine », les principaux opérateurs de téléphonie mobile ont également introduit un téléphone 2K, l'affichage se déplaçant aussi progressivement vers le 4K. Mais l'affichage haute définition a été un manque de contenu, le développement de l'industrie est devenue un point de mal. Parce que la technologie de super-résolution par le coût, les limitations matérielles, ont échoué à se généraliser. L'image basse résolution dans une version haute définition, et peuvent être vus et partagés sur plusieurs appareils, est devenu une énorme demande du marché.

Aujourd'hui, Google Pour faire face à ce point de la douleur, relâchez la technologie noire, pour que les gens voient l'espoir.

Google a publié la technologie RAISR

Il n'y a pas longtemps, Google vient de publier appelé RAISR (rapide et précise super résolution d'image, ce qui signifie « rapide, image précise de la technologie de super-résolution ») technologie de compression d'image conçue pour enregistrer des données précieuses, sans sacrifier l'image la qualité, et fournit une image nette sur un des appareils mobiles à bande passante limitée.

Google affirme que la technologie peut réduire jusqu'à 75 pour cent de la bande passante, l'analyse de RAISR des versions basse et haute résolution de la même image, comprendre les raisons supérieures version haute résolution, puis simulé dans une version basse résolution. En fait, utiliser l'apprentissage de la machine pour créer un filtre Instagram similaires, tromper vos yeux, assurez-vous que basse résolution et des images à haute résolution sont compatibles.

Présent et avenir de RAISR

Connexion Google+

Dès Novembre 2016, Google a développé la technologie pour RAISR, dans l'espoir de montrer l'image haute définition sur une bande passante limitée du terminal mobile.

La semaine dernière, à savoir la mi-2017, cette technologie a été utilisée dans la plupart des Google+ pour Android. John Nack réclamations Google chef de produit, RAISR sur Google+ traitement de plus de 1 milliard d'images par semaine, la bande passante totale de ces utilisateurs économiser environ un tiers.

John Nack a dit que lorsque vous utilisez les utilisateurs d'appareils mobiles Android afficher les photos Google+, Google + envoie seulement un quart d'une version de la taille de l'image d'origine, puis de réparer les détails par algorithme RAISR. Le plus élevé, RAISR peut économiser environ 75 pour cent de la bande passante pour l'utilisateur.

iOS fin déjà intégré

Dès Décembre 2016, les applications Google dans leur propre iOS mouvement Stills a été intégré la technologie RAISR, qui est en fait ses débuts RAISR. Cette fois-là, RAISR pour améliorer la résolution de la vidéo, l'utilisateur peut affûter automatiquement exporté chaque vidéo.

Cependant, on ne sait pas quand il fournira un accès RAISR technique spécifique de l'utilisateur à Google sur les appareils mobiles iOS. dit Nack, Google se propage à des zones d'iOS dans les semaines à venir.

La prochaine application serait?

Si vous ne voulez pas utiliser simplement RAISR dans Google+, vous devez attendre pendant un certain temps. plans Google dans les prochains mois seront déployés progressivement RAISR à d'autres applications, telles que Google Photos.

RAISR Le principe: l'apprentissage de la machine, aucun effet d'aliasing

La technologie de Google utilise l'apprentissage de la machine noire, son effet peut être atteint même plus que les solutions actuelles super-résolution, alors que 10 à 100 fois plus rapide, peut également fonctionner sur des appareils mobiles ordinaires. Google affirme également que leur technologie peut éviter les effets d'aliasing (aliasing artefacts) dans les reconstruites images à basse résolution.

Dans l'image technologie de suréchantillonnage traditionnelle « de remplissage » est la nécessité d'ajouter de nouvelles valeurs de pixel calculées par les valeurs de pixels existants autour. Ces méthodes sont rapides, mais ils sont la meilleure façon de ne pas afficher des détails saisissants dans l'image agrandie. Les images présentées ci-dessous, la gauche est l'image originale, l'image de droite est traité par suréchantillonnage, regards floue, loin appelée amélioration de l'image.

RAISR ils diffèrent en ce qu'il utilise un apprentissage de la machine, le système de formation avec une paire d'images de faible qualité et à haute résolution, donc il sait comment reconstruire le filtre appliqué à chaque pixel des images basse résolution générée comparable aux détails de l'image originale. RAISR choisir la meilleure façon d'améliorer les photos en basse résolution de chaque « quartier de pixel » afin de créer plus de résolution.

En d'autres termes, RAISR utiliser d'autres photographies appris quelque chose afin d'avoir une supposition à une version haute résolution de chaque zone de pixels manquants devrait ressembler.

Google a déclaré: « Lorsque ces filtres sont utilisés dans les images de résolution inférieure, ils reproduisent l'équivalent de détails de la résolution d'origine, ce qui est nettement mieux que le courant, deux-trois (bicubique), Lanczos (Lancos) de les méthodes d'analyse ".

La figure est l'image originale, l'image suivante est amplifiée par la figure RAISR.

La gauche est l'image d'origine, juste après l'effet est amplifié par le RAISR.

Voici un RAISR set exemple par rapport à Bicubique:

Photo de gauche est le traitement bicubique, le droit de traitement d'image RAISR.

En outre, RAISR élimine les effets d'aliasing sur la photo, tels que moirées (moiré) et en dents de scie pour restaurer la structure d'image d'origine.

Ci-dessous, la gauche est la résolution de l'image originale, 3 et 5 ont une franges moirées très importantes, ce qui est l'effet aliasing, est juste un algorithme de restauration d'image à l'aide RAISR.

La gauche est l'image d'origine, le droit est RAISR éliminer les images moiré

allégations Google que cette technologie à l'avenir, en plus d'agrandir l'image sur le téléphone, mais aussi en basse résolution et la capture ultra-haute définition, le stockage, la transmission d'images, utilisez les réseaux de données moins mobiles et l'espace de stockage, et ne produira pas l'oeil nu peuvent être observés de réduire la qualité d'image.

Cette compilation: Liu Zhiyong

Java 9 introduit le mode de compilation AOT

Java 9 introduit AOT mode de compilation, peut diriger les fichiers de classe compilés dans un fichier binaire exécutable. Actuellement Java première version d'accès 9 a été compilé pour fournir un outil qui nous permet de regarder sa fonction elle.

Note: Selon la JEP 295 description, la version actuelle de l'AOT, ne supporte que le système d'exploitation Linux 64 bits.

utilisation jaotc

Tout d'abord besoin de télécharger la dernière version de Java 9 (JDK), de cette écriture, la dernière version Créer 152. JDK seulement besoin de télécharger une bonne décompression peut être utilisé avec une attention particulière pour mettre en place deux variables d'environnement PATH et JAVA_HOME avant utilisation, et pour éviter que la machine a été installée la confusion JDK. Installé à $ HOME / bin / jdk-9, et est fourni:

export PATH = ~ / bin / jdk-9 / bin: $ PATH export JAVA_HOME = ~ / bin / jdk-9

Nécessité d'utiliser jaotc, vous devez d'abord d'avoir une classe de test, en commençant par le Bonjour tout le monde:

Le code est très simple, mais avant d'exécuter jaotc, doivent également être compilés dans des fichiers de classe, vous pouvez utiliser javac:

$ Javac HelloWorld.java

Après la mise en uvre réussie, il va générer le fichier HelloWorld.class. A cette époque, l'utilisation directe de commande java, vous pouvez exécuter cette classe a été correctement:

$ Java HelloWorld Bonjour tout le monde!

A cette époque, nous pouvons sur la base du fichier de classe par commande jaotc compilé dans un fichier binaire.

Si tout va bien, il va générer un fichier libHelloWorld.so.

Si un même

Exception dans le thread « principal » java.lang.UnsatisfiedLinkError: /home/babydragon/bin/jdk-9/lib/libjelfshim.so: libelf.so.1: ne peut pas ouvrir le fichier objet partagé: Aucun fichier ou erreur de répertoire,

Parce que jaotc repose bibliothèque libelf lien dynamique pour créer un fichier elf (le fichier est généré par la suite libHelloWorld.so un fichier elfe lié statiquement). J'utilise un système Gentoo, installer le paquet dev-libs / elfutils pour fournir une bibliothèque de lien dynamique libelf.so. Après l'installation peut être confirmée par commande ldd:

Par commande avant jaotc généré avec succès libHelloWorld.so. Bien que les commandes qui l'exemple de référence JEP 295 va générer un fichier d'extension des paramètres deviennent, mais si vous utilisez la commande ldd à la vue, vous trouverez qu'il est en fait une bibliothèque de liaison statique:

$ Ldd libHelloWorld.so lié statiquement

Par commande nm, l'entrée de fonction peut être vu dans le segment de code:

Enfin, nous devons Accomplir les paramètres -XX: paramètre AOTLibrary spécifie AOT être chargé par un fichier bibliothèque partagée compilé pré-:

Note: Bien que toute la classe HelloWorld par jaotc compilé dans une bibliothèque partagée fichiers encore besoin de compter sur le fichier HelloWorld.class d'origine est exécuté.

A cette époque, la sortie de l'exécution, et ne pas utiliser exactement la même qu'avant la sortie du AOT.

Pour la grande - volonté module java.base compilé bibliothèque AOT

JEP 295 a été décrit, au moment de la première version de Java 9, le module java.base ne garantie peut être compilé dans la bibliothèque AOT.

Toujours en référence à JEP 295, de créer un fichier java.base-list.txt, principalement à exclure certaines des façons de compiler en question, en se référant au contenu spécifique de l'original.

Ensuite, exécutez la commande suivante:

Après la machine de l'auteur (i7-6600U + 16G mémoire + 256G NVMe SSD), éviter la méthode ci-dessus, le temps de compilation est d'environ 9 minutes.

Une fois terminé, vous pouvez utiliser la version AOT modules java.base:

De même, pour AOT, jvm a également ajouté un paramètre de méthode d'impression qui est exécutée par le chargement AOT bibliothèques précompilés.

La sortie peut être comparé avec et sans java.base de AOT, AOT trouvé de ne pas utiliser java.base la bibliothèque, seule la méthode correspondante libHelloWorld.so chargée.

La sortie est trop long sortie extrait, on peut voir la classe java et ses méthodes sont chargés par la voie AOT.

Utile?

AOT limites actuelles sont les suivantes:

  • prend uniquement en charge les systèmes d'exploitation Linux 64 bits: le problème est pas grand, après tout, la plupart des serveurs en ligne sont en mesure de répondre;

  • Libelf système d'exploitation bibliothèques pré-installées doivent faire en sorte que les fichiers peuvent être générés elf: Ce problème n'est pas grande, est générée uniquement en cas de besoin;

  • compilation AOT et l'environnement d'exécution requiert le même: après tout, est un fichier binaire, l'introduction de la plate-forme dépendante;

  • 9 Java a été initialement publié, uniquement des modules de soutien java.base peuvent être compilés dans la bibliothèque AOT;

  • À l'heure actuelle ne supporte que parallèles G1 GC et GC deux types de moyens: non mentionnés plus haut, et exigent les mêmes paramètres JVM exécution AOT compilation, y compris le mode de GC, ce qui signifie que si l'AOT, le moteur d'exécution réelle utilisation JVM seulement l'un des deux moyens GC;

  • Ne peut pas compiler le code java (par exemple, l'expression lambda, ce qui reflète des appels, etc.) par le fichier de classe générer dynamiquement ou modifier bytecode: cela peut être plus fosses seront mentionnées plus loin;

  • Les réglages des paramètres doivent être les mêmes exécution JVM et la compilation bibliothèque AOT;

AOT peut apporter des avantages, après la charge JVM ceux-ci ont été pré-compilés dans une bibliothèque binaire peut être appelé directement, mais compilé en code binaire, ce qui élimine la nécessité de l'exécuter. En théorie, de façon AOT, JIT peut réduire application Java temps d'échauffement, entraînant moins long terme apporte le sentiment « d'abord courir lentement ».

Cependant, HelloWorld utilisé ici, est trop simple, si AOT peut réduire le temps d'initialisation JVM ne peut pas venir par comparaison. J'essaie d'être une petite application springboot de AOT, mais le cadre de springboot lui-même ne fonctionne pas en Java 9. Tout en effectuant le paquet directement peut également échouer ressort cur du pot, car dépendant de divers problèmes.

Après plusieurs tentatives, la fonction actuelle Java AOT 9 est encore à un stade très préliminaire:

  • Le manque d'outils de gestion intégrés Maven, ne peut pas facilement spécifier le fichier jar ou classe au projet de construction de la bibliothèque de AOT;

  • Grand cadre n'a pas encore officiellement pris en charge la construction de la bibliothèque de la difficulté AOT est relativement élevée;

  • Si un grand cadre bibliothèques AOT fournissent directement, il peut construire une plate-forme spécifique, et ne peut être utilisé localement;

Nous attendons avec impatience le temps de sortie officielle Java 9, d'avoir un meilleur soutien pour les AOT.

Auteur: Jinling Jie

Comment l'intelligence artificielle de aidera les équipes de logiciels

Au cours des 5-10 prochaines années est toujours votre travail que vous faites, ou un robot pour vous aider à faire?

Avec l'intelligence artificielle (ci-après dénommés AI) capacités et de plus en plus largement utilisés, les travailleurs du savoir ont commencé à me poser cette question. fondateur et PDG Mike Cannon Atlassian Brookes a déclaré que la productivité future de l'équipe IA jouera un rôle majeur. Maintenant, regardons pourquoi.

bonds AI

Of America Merrill Lynch (Merrill Lynch) Bank prévoit qu'il y aura neuf billions de dollars américains de travail de connaissances AI aura une incidence sur les entreprises dans la prochaine décennie. McKinsey (McKinsey) Global Institute a dit, AI est à la vitesse « 3000 révolution industrielle » dans la conduite de la transformation de la société. CB analyse Insights a montré l'investissement de l'IA est augmente chaque année. Les résultats ont montré que les tendances et les réalités globales, AI et les robots ne peuvent plus être traités comme des discours vides et ne tiennent pas compte.

Nous ne devrions pas avoir peur de la grippe aviaire, il nous donne une chance d'embrasser son potentiel, de sorte que notre organisation dispose d'un nouveau mode de fonctionnement, afin que nous puissions appliquer leurs connaissances dans des activités de valeur plus élevée.

AI comprendre affaires

Nous avons deux façons de comprendre le monde de l'IA: Intelligence artificielle GM (General AI ou IAG) et de l'intelligence artificielle d'étroite (AI Précisez). AI Restreindre fait référence à l'utilisation de machines pour résoudre intelligemment les problèmes spécifiques et générale AI fait référence à un ou un groupe de machines ayant des capacités cognitives humaines intactes. Et les films de science-fiction dépeignant la différence est que l'IA générique a encore un long chemin à parcourir.

Défis communs rencontrés par AI

Le principal défi de l'universel AI est que nous ne comprenons pas ce qui est la conscience. la pensée de philosophes contemporains est allé au-delà du concept de corps et de l'esprit, se rendre compte que la conscience est produite par notre cerveau. Mais, comme neuroscientifique ou autres, nous ne comprenons toujours pas ce qu'elle est, et encore moins comment le créer.

Nous n'avons pas le matériel, mais: Futuriste Ray Kurtzweil prédit que Simuler l'intelligence humaine matériel nécessaire sera en mesure d'apparaître au bon prix en 2020.

Nous n'avons pas le logiciel, mais: Computer AlphaGo dans une victoire de jeu complexe, il est impressionnant, ainsi que la compréhension de la langue est également plus précis que les humains, tout cela sonne bien, mais ce ne sont que les problèmes complexes à résoudre en petits morceaux seulement.

Par exemple, le projet OpenWorm a commencé comme une simple simulation de créatures comme un ver. Bien que la connaissance des vers (simulation de ver) progressivement en profondeur, mais il y a encore de nombreux problèmes, tels que la façon de créer, et fabriqués à partir des vers de renseignements très limités. Donc, il faut beaucoup de temps d'étude, jusqu'à ce que finalement d'examiner s'il y a singularité AI, ou comme le Terminator (Terminator) que les fans inquiets problème Skynet (Skynet).

Cibler AI

D'autre part, Amnesty International a eu rétrécir un impact sur nous, et se propager rapidement dans de nombreuses régions. Au fil des ans, il a eu des répercussions sur notre vie quotidienne, tels que les actions d'achat pour obtenir des suggestions, ou recommandé un livre sur Amazon. Étroite AI nous a fourni quelque chose de valeur, il est de résoudre des problèmes qui ont des résultats précis ou d'une règle par de grands ensembles de données structurés, maintenant le développement AI est allé au-delà de ces zones.

AI, la robotique et la gestion de l'équipe

La possibilité de robots et AI aider et participer à des activités de l'équipe augmente, la force motrice essentielle derrière:

Les données sont accessibles

logiciel de processus de construction généreront des tâches de développement, les procédures, les journaux, le code source, les résultats des tests, et donc beaucoup d'informations, toutes les données sont stockées dans certaines parties du système. Utilisation de l'API, les plug-ins, l'approche basée sur le cloud peut rendre l'accès aux données plus facilement entre les systèmes.

désordre des données

L'équipe des données utilisées est en désordre, ce n'est pas la faute de personne, il est déterminé par la nature du travail. Lorsqu'une opération d'équipe (toujours le cas), en raison des contraintes de temps et de relâcher la pression, il est difficile de trouver le temps de nettoyer les données. Mais parce que le progrès non structuré capacité de traitement de données, qui est maintenant pas nécessairement un problème.

Les données sont assez grand

En ce qui concerne l'Amazonie, Facebook, Google grands ensembles de données, la quantité de données pour la plupart des équipes, il est très faible. Une équipe habituellement seulement des dizaines ou des centaines de tâches, les plus grands et même des milliers de tâches, mais statistiquement parlant, est encore faible. L'algorithme sur des ensembles de données à petite échelle optimisée de sorte qu'une étroite AI peut apporter des résultats significatifs pour l'équipe.

La normalisation des processus d'équipe

Partout dans le monde, la plupart des équipes différentes organisations, leurs processus et méthodes de travail sont similaires dans la nature. La prévalence de l'équipe de développement logiciel agile est un exemple. Cibler l'implication est que l'IA pour beaucoup de gens, il est plus facile à utiliser et plus précieux. Grâce à la standardisation, ce qui signifie la possibilité de données inter-organisationnelles combinées dans des ensembles de données plus importants.

Augmenter la productivité réduire les erreurs

Des algorithmes ont été en développement, bien qu'il y ait encore des erreurs. Mais en réduisant les coûts, l'amélioration de la vitesse, ou en profondeur la compréhension des avantages du développement d'être plus importants que ceux causés par le défaut, l'erreur, et certains robots de chat troubles actuels au sens étroit de l'IA.

conclusion

AI peut contribuer à l'équipe de développement, cette équipe sera plus efficace, ils prendre de meilleures décisions, être en mesure de se concentrer sur les activités à valeur ajoutée. Donc, ne pas avoir peur du robot, de sorte qu'ils deviennent une partie de votre travail quotidien, de faire plus de choses.

Cet article traduction autorisée, le lien d'origine:

Cet article Traducteur: Yang Lei

texte recommandé aujourd'hui

Cliquez ci-dessous pour lire l'image

Ali 9 ans, je résume les trois grandes étapes de l'équipe de gestion architecture avant la fin de l'évolution et le coeur

nouveau film « équipe Raptor » Nom complet implique l'exposition de DC à l'histoire
Précédent
"Engager la machine Story" jambon U12 +
Prochain
« TFBOYS « » Nouvelles Xi Yi 190322 mille éperlan magie du visage changeant collection, la direction de regarder oh
Nintendo a publié un nouvel hôte après le cours de l'action baisse pas, pourquoi est-ce?
Deng Chao Sun Hua Biao photo backstage: Tang Yan Yang Mi-cadre, Yang Yang que V, GJM profil de hauteur
« Tyrants » villageois de richesse fou d'appui ont été emmenés ce jour-là, les villageois sont choqués
« La Grande Dame Mai Seer » au deuxième trimestre a publié de nouvelles affiches retour Décembre
« Complexe avec 4 » billets de Premiere ont été vendus pour 1000 yuans! Utilisateur: plus dur que la benne de billets Fête du Printemps
190322 « Big Ice Kids » de nouvelles images fixes a frappé un styliste Yi Xi éperlan mille technologie beaucoup amélioré
Yang Mi a été mise en doute en raison d'une relation souriant avec Zhang Ziyi, en fait, elle a toujours été comme ça rire
Keanu Reeves a rejoint le "Toy Story 4" rôle mystérieux
Cherish la mémoire! cérémonie de fondation de la place Tiananmen était en vol, il a volé loin ......
Yen valeur supérieure de la lumière cela, comment faire la force de la performance?
« TFBOYS » « nouvelles » 190322 Wang Yuan Shanghai voler à Pékin, il est toujours